MongoDB 是一款流行的 NoSQL 数据库,其命令行工具 mongosh(或传统的 mongo shell)是管理员和开发者进行数据库操作的重要方式,通过命令行连接 MongoDB 数据库,可以高效地执行查询、管理数据、配置服务器等任务,以下是详细的连接步骤和注意事项。

连接前的准备
在连接 MongoDB 之前,需确保以下条件满足:
- 安装 MongoDB:本地或服务器已安装 MongoDB,并启动了
mongod进程。 - 网络配置:如果连接远程服务器,需检查防火墙设置,确保 MongoDB 的默认端口
27017已开放。 - 认证信息:如果启用了身份验证,需提前准备用户名、密码及认证数据库。
本地连接
默认情况下,MongoDB 监听本地 localhost:27017,无需额外参数,打开终端(Windows 为命令提示符或 PowerShell),输入以下命令:
mongosh
成功连接后,会显示 MongoDB 版本、连接地址及提示符 >,此时可执行数据库操作,
// 查看当前数据库
db
// 切换数据库
use myDatabase
// 插入数据
db.myCollection.insertOne({name: "MongoDB", type: "NoSQL"})
远程连接
连接远程 MongoDB 服务器时,需指定主机和端口,格式为 mongosh <host>:<port>。

mongosh 192.168.1.100:27017
如果服务器需要身份验证,需通过 -u(用户名)、-p(密码)及 --authenticationDatabase 指定认证数据库:
mongosh 192.168.1.100:27017 -u admin -p password --authenticationDatabase admin
注意:密码输入时不会显示字符,输入后按回车即可。
连接参数说明
以下是常用连接参数的表格总结:
| 参数 | 说明 | 示例 |
|---|---|---|
--host 或 -h |
指定服务器地址 | mongosh --host 192.168.1.100 |
--port 或 -p |
指定端口号 | mongosh --port 27018 |
--username 或 -u |
用户名 | mongosh -u admin |
--password 或 -p |
密码 | mongosh -p secret |
--authenticationDatabase |
认证数据库 | --authenticationDatabase admin |
--ssl |
启用 SSL 连接 | mongosh --ssl |
--eval |
执行脚本后退出 | mongosh --eval "db.stats()" |
高级连接选项
- 连接 URI:支持使用标准连接字符串,
mongosh "mongodb://admin:password@192.168.1.100:27017/admin"
- 副本集连接:若 MongoDB 部署为副本集,需指定副本集名称:
mongosh "mongodb://host1:27017,host2:27017/myDb?replicaSet=myReplicaSet"
- 连接超时:通过
--connectTimeoutMS设置连接超时时间(毫秒):mongosh --connectTimeoutMS 5000
常见问题与解决
- 连接失败:检查
mongod是否运行、网络是否可达、端口是否正确。 - 认证失败:确认用户名、密码及认证数据库是否正确,用户是否有目标数据库的权限。
- SSL 错误:若服务器启用 SSL,客户端需使用
--ssl或提供 CA 证书。
相关问答 FAQs
Q1: 如何在连接后查看所有数据库?
A: 使用 show dbs 命令可列出所有数据库,

show dbs
Q2: 如何断开 MongoDB 命令行连接?
A: 输入 exit 或 quit() 即可退出当前连接,返回终端:
exit
