MongoDB 是一款广泛使用的 NoSQL 数据库,以其灵活的文档存储模式和强大的查询功能著称,在开发和运维过程中,经常需要通过命令行与 MongoDB 交互,例如执行查询、管理数据库、查看性能指标等,本文将详细介绍如何进入 MongoDB 命令行,包括不同环境下的操作步骤、常用命令以及注意事项,帮助用户快速上手并高效使用 MongoDB 命令行工具。

进入 MongoDB 命令行的基础方法
在默认情况下,MongoDB 安装后会提供 mongo 命令行工具(注:MongoDB 4.4+ 版本已将 mongo 工具替换为 mongosh,但旧版本仍可使用 mongo),以下是进入命令行的标准步骤:
-
确保 MongoDB 服务已启动
在进入命令行前,需确保 MongoDB 服务正在运行,可以通过以下命令检查服务状态(以 Linux 系统为例):sudo systemctl status mongod
若未启动,使用以下命令启动服务:
sudo systemctl start mongod
-
使用
mongo或mongosh命令进入命令行
打开终端或命令提示符,输入以下命令:
(图片来源网络,侵删)mongo
或新版
mongosh:mongosh
成功后,将看到类似以下的欢迎信息:
MongoDB shell version v4.4.10 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("...") } MongoDB server version: 4.4.10 ... >>是命令行的提示符,表示可输入命令。
连接远程或特定 MongoDB 实例
若需连接远程服务器或指定端口的 MongoDB 实例,可通过以下命令格式:

mongo --host <主机地址> --port <端口号> -u <用户名> -p <密码> --authenticationDatabase <认证数据库>
连接远程服务器的 admin 数据库:
mongo --host 192.168.1.100 --port 27017 -u admin -p password123 --authenticationDatabase admin
参数说明:
--host: MongoDB 服务器地址,默认为本地0.0.1。--port:端口号,默认为27017。-u:用户名,需提前在 MongoDB 中创建。-p:密码,若未在命令行输入,会提示手动输入。--authenticationDatabase:认证数据库,通常为admin。
命令行中的常用操作
进入命令行后,可通过以下命令完成基本操作:
-
查看数据库列表
show dbs
输出示例:
admin 0.000GB config 0.000GB local 0.000GB test 0.001GB -
切换数据库
use <数据库名>
例如切换到
test数据库:use test
若数据库不存在,插入数据时会自动创建。
-
查看集合(表)列表
show collections
-
插入数据
db.<集合名>.insertOne({name: "MongoDB", type: "NoSQL"}) -
查询数据
db.<集合名>.find()
添加条件查询:
db.<集合名>.find({type: "NoSQL"}) -
退出命令行
exit
或使用快捷键
Ctrl + C。
命令行工具的常见问题与解决
在使用 mongo 或 mongosh 时,可能会遇到以下问题:
-
“command not found” 错误
原因:MongoDB 未添加到系统环境变量。
解决:- Linux/macOS:将 MongoDB 的
bin目录(如/usr/local/mongodb/bin)添加到PATH环境变量。 - Windows:在系统环境变量中添加 MongoDB 的安装路径(如
C:\Program Files\MongoDB\Server\4.4\bin)。
- Linux/macOS:将 MongoDB 的
-
连接被拒绝错误
原因:MongoDB 服务未启动或防火墙阻止端口。
解决:- 启动 MongoDB 服务(参考第一节)。
- 检查防火墙设置,允许
27017端口访问。
命令行操作注意事项
- 区分大小写:MongoDB 命令和集合名默认区分大小写,建议统一使用小写。
- JSON 格式:插入数据时需符合 JSON 语法,键值对用 包裹,字符串用双引号。
- 权限管理:普通用户需确保对目标数据库有读写权限,否则操作会报错。
相关问答 FAQs
问题 1:mongo 和 mongosh 有什么区别?如何选择?
解答:mongo 是旧版 MongoDB 的命令行工具,基于 JavaScript,功能较基础;mongosh 是新版(4.4+)推荐的工具,支持 TypeScript 语法、自动补全和更丰富的调试功能,建议使用 mongosh 以获得更好的体验,但旧版项目仍可兼容 mongo。
问题 2:如何在命令行中查看 MongoDB 的版本信息?
解答:进入 mongo 或 mongosh 后,输入以下命令:
db.version()
或直接在终端执行:
mongosh --version
均可获取当前 MongoDB 版本号。
