MongoDB笔记
安装
Windows
官网下载MongoDB Community Download
可安装 MongoDB Compass 的数据库管理工具
打开 bin/mongo.exe 即可连接 MongoDB
Linux
推荐直接宝塔面板,然后在软件商店点击安装 MongoDB 即可
Docker
docker pull mongo:latest
mkdir /home/mongo/ # 创建本地数据库文件夹
docker run -itd --name mongo --restart=always --privileged -p 27017:27017 -v /home/mongo/data:/data/db -v /home/mongo/conf:/data/configdb -v /home/mongo/logs:/data/log/ mongo:latest --config /data/configdb/mongod.conf --bind_ip_all
# -v 指定配置文件启动
# --bind_ip_all 允许所有IP访问
# ----restart=always Docker服务重启容器也启动
# --privileged 拥有真正的root权限
docker exec -it mongo bash
# 进入容器
root@71351dc5b914:/# mongo
# 进入 mongo
# 后文有
配置远程连接
首先按照上面步骤创建用户, 后续都是以这个用户来进行连接数据库
找到配置文件
windows \bin\mongod.cfg
linux /etc/mongo/mongod.conf
bind_ip = 0.0.0.0
security:
authorization:enabled
# 注意 两个空
注意: mongodb Compass 有可能会连接不上提示Authentication failed,但使用代码即可。
配置文件如下
# 数据库文件存储位置
dbpath = /data/db/
# log文件存储位置
logpath = /data/log/mongodb/master/mongodb.log
# 使用追加的方式写日志
logappend = true
# 是否以守护进程方式运行
# fork = true
# 端口号
port = 27017
# 是否启用认证
auth = true
# 设置oplog的大小(MB)
oplogSize=2048
-
开启防火墙 systemctl start firewall
-
防火墙放端口
firewall-cmd --zone=public --add-port=27010/tcp --permanent
-
重启防火墙
firewall-cmd --reload
基本命令
# 创建数据库
use 数据库名
show databases
show users
增删改查
原生的 mongodb CRUD 命令没啥好说的,Nodejs 主要配合 Mongoose 来使用,这边就直接不列举了
索引
// 创建索引
db.user.ensureIndex({"username":1},{"name":"usernameIndex"}) // 1是升序 一般用降序 可查最新的账号 第二个参数可指定索引名称
// 获取索引
db.user.getIndexes()
// 删除索引
db.user.dropIndex({"username":1})
// 唯一索引
db.user.ensureIndex({"userId":1},{"unique",true})
// 再次插入userId重复的文档 mongodb将会报错 提示插入重复键 同时有重复文档也无法创建唯一索引