首页/数据/NoSQL 速查/mongosh 库与集合导航命令
MongoDB99 条

mongosh 库与集合导航命令

use 切库、show dbs / show collections 查看层级;db.help() 与 db.<集合>.help() 打印当前上下文的可用方法清单。

NoSQL 速查数据更新于 2026-10-13

命令是干什么的

mongosh 是 MongoDB 5.0 起随服务端发布的官方 Shell,用来替代旧版 mongo 客户端。它里的 use / show / help 不是查询语言,而是 Shell 层的上下文操作:确认当前连的是哪个库、库里有哪些集合、某个对象上有哪些方法可用。定位问题时先用这套命令看清结构,再决定从哪张集合、哪个字段入手,比直接猜字段名试查询稳得多。

基本信息

适用平台MongoDB 5.0+ 官方 Shell(mongosh 2.x)
连接mongosh "mongodb://user:pass@host:27017/admin"
切换库use app_inventory
查看层级show dbs / show collections / show users
上下文帮助help、db.help()、db.orders.help()

会话示例

会话示例
mongosh "mongodb://app_rw@10.0.0.12:27017/admin"  # 认证库写在连接串里
use app_inventory        # 切换当前库,此时并不落库
db                       # 打印当前库名,确认上下文正确
show dbs                 # 列出有数据的库
show collections         # 列出当前库的集合
show users               # 列出当前库的账号
db.orders.help()         # 打印集合级可用方法
db.orders.countDocuments()  # 用方法确认集合可读

典型使用场景

  • 接手陌生实例:逐层确认库与集合结构,再规划查询
  • 排查"库不见了":先看 show dbs 判断是没数据还是没权限
  • 交接脚本前用 db.<coll>.help() 核对方法名,Shell 便捷方法与驱动方法并不完全同名
  • 盘空间前先 show collections,再对可疑集合取 stats 看占用
  • 权限核对:切到 admin 库查看用户与角色绑定关系

导航命令对照

命令作用注意
show dbs列出有数据的库与磁盘占用空库不出现
show collections列出当前库集合需先切库,权限不足会报错
show users列出当前库账号角色信息要到 admin 库查
db.help()打印库级可用方法帮助文本随版本变化
db.<coll>.help()打印集合级方法与驱动 API 不完全同名
use 一个不存在的库不会立刻创建它:第一次写入数据或显式建集合时才真正落库;空库不出现在 show dbs 列表中,这是排查"库丢了"最常见的原因。
db.<coll>.help() 列的是 Shell 封装的便捷方法,与各语言驱动 API 并不完全一一对应(例如计数在驱动侧对应 countDocuments),写进代码前以驱动文档为准。

易错点

  • show dbs 只列出有数据的库,排查"库不见了"时先确认是否已有数据写入
  • 在错误的库上下文里执行 find 只返回空结果、不报错,执行前用 db 打印当前库名确认
  • 新版 mongosh 与旧版 mongo 语法相近但行为有差异,老脚本直接搬过来可能出现未定义方法
  • 用 use 切到 admin 做授权后忘记切回业务库,后续建集合会落到错误的库

数据来源与参考

  • MongoDB Manual: mongosh commands
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌