默认端口介绍
默认端口 | 介绍 |
---|---|
27017 | mongod 和 mongos 实例的默认端口。你可以通过 port 或 --port 改变该端口。 |
27018 | 设置 --shardsvr 运行变量或在配置文件里设置 clusterRole 为 shardsvr 时的默认端口。 |
27019 | 设置 --configsvr 运行变量或在配置文件中将 clusterRole 设置为 configsvr 时的默认端口。 |
28017 | 系统状态网页的默认端口。系统状态网络页面永远可以在比 port 大 1000 的端口反问。 |
拉取镜像
docker pull mongo:4.0.6
宿主机创建存放数据目录
mkdir -p /docker_data/mango/data/db/
启动mongo并映射数据到宿主机
docker run -d --name mongo-4.0.6 --privileged=true --restart=always -v /docker_data/mongo/data/db:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo:4.0.6
查看是否启动成功
docker ps
成功则打印:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1fbc4e7d369c mongo:4.0.6 "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp mongo-4.0.6
测试
创建用户
docker exec -it mongo-4.0.6 bash
mongo -u root -p 123456
use admin
db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]})
db.auth("admin", "admin")
基础命令
进入数据库
mongo -u 用户名 -p 密码
显示数据库
show dbs
选择和创建数据库
use 数据库名
数据库名不存在自动创建新数据库
显示表(集合)
show collections
插入文档
db.集合名称.insert(数据)
查看表下文档数据
db.集合名称.find()
按条件查询(参数为json)
db.集合名称.find(参数)
返回指定条数记录
db.集合名称.find().limit(条数)
修改文档(条件和修改后的数据为json)
db.集合名称.update(条件,{$set:修改后数据})
删除文档(条件为json)
db.集合名称.remove(条件)
删除全部文档
db.集合名称.remove({})
统计条数
db.集合名称.count()
按条件统计条数
db.集合名称.count(条件)