MongoDB 提供了 mongo
shell(在 MongoDB 4.2+ 版本后改为 mongosh
)作为其官方命令行工具,用于与 MongoDB 数据库交互。以下是连接 MongoDB 数据库的几种常用方法:
mongosh
或(旧版本):
mongo
mongosh --host <hostname> --port <port>
例如:
mongosh --host localhost --port 27017
mongosh "mongodb://localhost:27017/mydatabase"
mongosh -u <username> -p <password> --authenticationDatabase <authDB>
例如:
mongosh -u admin -p secret --authenticationDatabase admin
mongosh "mongodb://username:password@host:port/database?authSource=authDB"
例如:
mongosh "mongodb://admin:secret@localhost:27017/mydb?authSource=admin"
mongosh "mongodb://host1:port1,host2:port2,host3:port3/database?replicaSet=myReplicaSet"
mongosh "mongodb://host:port/database" --tls --tlsCAFile /path/to/ca.pem
mongosh --host localhost --port 27017 --eval "printjson(db.stats())"
参数 | 说明 |
---|---|
--host |
指定 MongoDB 服务器主机名 |
--port |
指定 MongoDB 服务器端口 |
-u / --username |
认证用户名 |
-p / --password |
认证密码 |
--authenticationDatabase |
认证数据库 |
--tls |
启用 TLS/SSL 连接 |
--tlsCAFile |
指定 CA 证书文件 |
--eval |
连接后执行 JavaScript 代码 |
--quiet |
安静模式,减少输出 |
--nodb |
启动 shell 但不连接任何数据库 |
连接成功后,可以执行以下常用命令:
// 显示所有数据库
show dbs
// 切换数据库
use mydatabase
// 显示当前数据库中的集合
show collections
// 查询集合中的文档
db.mycollection.find()
// 获取数据库统计信息
db.stats()
注意:从 MongoDB 4.2 开始,官方推荐使用新的 mongosh
替代旧的 mongo
shell,提供了更好的自动补全、语法高亮等功能。