以下是Mongo Shell常用命令的整理,涵盖数据库操作、集合管理、数据查询等核心功能:
一、基础连接与帮助命令
-
启动Mongo Shell
-
基础连接:
mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase <authDB> 或简写形式:mongo "mongodb://ip:port/db"
-
帮助命令
help # 查看全局帮助 db.help() # 查看数据库操作帮助:ml-citation{ref="5" data="citationList"} db.collection.help() # 查看集合操作帮助:ml-citation{ref="5" data="citationList"}
二、数据库操作
-
切换/创建数据库
use dbName # 切换到指定数据库(不存在则创建):ml-citation{ref="6" data="citationList"}
-
查看数据库
show dbs # 列出所有数据库:ml-citation{ref="3,6" data="citationList"} db # 显示当前数据库名:ml-citation{ref="6" data="citationList"}
-
删除数据库
db.dropDatabase() # 删除当前数据库:ml-citation{ref="6" data="citationList"}
三、集合(表)操作
-
查看集合
show collections # 显示当前库所有集合:ml-citation{ref="3,8" data="citationList"}
-
创建集合
db.createCollection("collName") # 创建集合:ml-citation{ref="8" data="citationList"}
-
删除集合
db.collName.drop() # 删除指定集合:ml-citation{ref="5" data="citationList"}
四、数据增删改查(CRUD)
-
插入数据
db.collName.insert({key: "value"}) # 插入单条文档:ml-citation{ref="8" data="citationList"}
-
查询数据
db.collName.find() # 查询所有文档:ml-citation{ref="4" data="citationList"} db.collName.find({age: 26}) # 条件查询:ml-citation{ref="8" data="citationList"} db.collName.distinct("age") # 去重查询:ml-citation{ref="8" data="citationList"}
-
更新数据
db.collName.update({条件}, {$set: {字段: 新值}}) # 更新文档:ml-citation{ref="4" data="citationList"}
-
删除数据
db.collName.deleteOne({条件}) # 删除匹配文档:ml-citation{ref="4" data="citationList"} db.collName.deleteMany({条件}) # 删除匹配文档:ml-citation{ref="4" data="citationList"}
五、高级查询与统计
-
范围查询
db.collName.find({age: {$gt: 20, $lt: 30}}) # 数值范围查询:ml-citation{ref="8" data="citationList"}
-
正则匹配
db.collName.find({name: /^a/}) # 查询以'a'开头的字段:ml-citation{ref="8" data="citationList"}
-
聚合统计
db.collName.count() # 统计文档数量:ml-citation{ref="8" data="citationList"} db.collName.stats() # 查看集合状态:ml-citation{ref="5" data="citationList"}
六、用户与权限管理
-
创建用户
db.createUser({user: "name", pwd: "123", roles: ["readWrite"]}):ml-citation{ref="5" data="citationList"}
-
显示用户
show users # 查看当前库用户:ml-citation{ref="5" data="citationList"}
七、Docker命令
-
基本配置
vim /data/mongo/config/mongod.conf
# 数据库存储路径
dbpath=/data/mongo/data
# 日志文件路径
logpath=/data/mongo/logs/mongod.log
# 监听的端口
port=27017
# 允许所有的 IP 地址连接
bind_ip=0.0.0.0
# 启用日志记录
journal=true
# 是否后台运行
fork=true
# 启用身份验证
#auth=true
docker run -dit --name mongo \
-p 27017:27017 \
-v /data/mongo/config/mongod.conf:/etc/mongod.conf \
-v /data/mongo/data:/data/db \
-v /data/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--restart=always \
mongo
注意事项
- 默认连接端口为
27017
,若需认证需添加-u username -p password
参数。 - 生产环境建议启用副本集和SSL加密配置。