docker安装mongodb
docker 拉取mongo镜像
docker pull mongo:latest
运行容器
docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明:
-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
--auth:需要密码才能访问容器服务。
创建用户并设置密码
docker exec -it mongo mongo admin(5.0版本以上连接mongo使用命令mongosh)
创建一个名为 admin,密码为admin的用户。
db.createUser({ user:'admin',pwd:'admin',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
尝试使用上面创建的用户信息进行连接。
db.auth('admin', 'admin');
mongodb命令
展示所有数据库
show dbs
创建数据库
use articledb
展示当前数据库
db
单个文档,创建文档并隐式创建集合
db指当前数据库,comment为集合名
db.comment.insert({“articleid”:“1”,“content”:“今天天气真好”,“createTime”:new Date})
查询文档
db.comment.find()
多个文档创建
db.comment.insertMany(
[{“articleid”:“4”,“content”:“今天天气真好4”,“createTime”:new Date},
{“articleid”:“5”,“content”:“今天天气真好5”,“createTime”:new Date}]
)
投影查询 {articleid:“1”}相当于where条件,{content:1}表示显示此字段
db.comment.find({articleid:“4”},{content:1})
局部修改
db.comment.update({articleid:“1”},{KaTeX parse error: Expected 'EOF', got '}' at position 24: …tent:"今天天气真好1"}}̲) 批量更新 db.comme…set:{articleid:“44”}})
db.comment.insertMany(
[{“articleid”:“6”,“content”:“今天天气真好4”,“createTime”:new Date,“likeNum”:0},
{“articleid”:“7”,“content”:“今天天气真好5”,“createTime”:new Date,“likeNum”:0}]
)
自增
db.comment.update({articleid:“6”},{$inc:{likeNum:NumberInt(1)}})
删除部分数据
db.comment.remove({articleid:“33”})