数据库命令
以下所有命令文档概述了命令及其可用参数,并为每个命令提供了文档模板或原型。一些命令文档还包括相关的mongosh
辅助工具。
要针对当前数据库运行命令,使用db.runCommand()
:
db.runCommand( { <command> } )
要针对 admin
数据库运行管理命令,使用 db.adminCommand()
:
db.adminCommand( { <command> } )
注意
有关特定命令的详细信息(包括语法和示例),请单击命令参考页面的链接。
命令语法
当你运行数据库命令时,你将命令指定为文档到 db.runCommand()
。文档的键是运行的命令,值通常是 1
。该值不影响命令的输出,例如
db.runCommand( { hello: 1 } )
用户命令
聚合命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
对 M0、M2 和 M5 集群。 支持有限。 | ||
计算集合或视图中的文档数量。 | 对 M0、M2 和 M5 集群。 支持有限。 | |
显示集合或视图中指定键中找到的唯一值。 | 对 M0、M2 和 M5 集群。 支持有限。 | |
对大型数据集执行 map-reduce 聚合。 | 对 M0、M2 和 M5 集群。 不支持。 |
地理空间命令
查询和写操作命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
在一次请求中执行多个集合的多个插入、更新和删除操作。 新功能在版本8.0. | 无 | |
删除一个或多个文档。 | 是 | |
在集合或视图中选择文档。 | 对 M0、M2 和 M5 集群。 支持有限。 | |
返回并修改单个文档。 | 是 | |
返回游标当前指向的文档批。 | 是 | |
插入一个或多个文档。 | 是 | |
在 MongoDB 5.0 中删除。 重置最后错误状态。 | 无 | |
更新一个或多个文档。 | 是 |
查询计划缓存命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
移除集合的缓存查询计划。 | 对 M0、M2 和 M5 集群。 不支持。 | |
清除集合的索引过滤器。 | 对 M0、M2 和 M5 集群。 不支持。 | |
列出集合的索引过滤器。 | 对 M0、M2 和 M5 集群。 不支持。 | |
为集合设置索引过滤器。 | 对 M0、M2 和 M5 集群。 不支持。 |
数据库操作
认证命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
使用用户名和密码启动一个认证会话。 | 对 M0、M2 和 M5 集群。 不支持。 | |
终止当前认证会话。 | 是 |
用户管理命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
创建新用户。 | 不支持M0, M2, M5和M10集群。 | |
删除与数据库关联的所有用户。 | 对 M0、M2 和 M5 集群。 不支持。 | |
删除单个用户。 | 不支持M10集群。 | |
授予用户角色及其权限。 | 不支持M0, M2, M5和M10集群。 | |
从用户中删除角色。 | 不支持M0, M2, M5和M10集群。 | |
更新用户数据。 | 不支持M0, M2, M5和M10集群。 | |
返回指定用户的信息。 | 对 M0、M2 和 M5 集群。 支持有限。 |
角色管理命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
创建角色并指定其权限。 | 不支持M0, M2, M5和M10集群。 | |
删除用户定义的角色。 | 不支持M0, M2, M5和M10集群。 | |
从数据库中删除所有用户定义的角色。 | 对 M0、M2 和 M5 集群。 不支持。 | |
将权限分配给用户定义的角色。 | 对 M0、M2 和 M5 集群。 不支持。 | |
指定用户定义角色继承权限的角色。 | 对 M0、M2 和 M5 集群。 不支持。 | |
清除用户信息内存缓存,包括凭据和角色。 | 对 M0、M2 和 M5 集群。 不支持。 | |
从用户定义的角色中移除指定的权限。 | 对 M0、M2 和 M5 集群。 不支持。 | |
从用户定义的角色中移除指定的继承角色。 | 对 M0、M2 和 M5 集群。 不支持。 | |
返回指定角色或角色的信息。 | 是 | |
更新用户定义的角色。 | 不支持M0, M2, M5和M10集群。 |
复制命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
将非操作条目写入oplog。 | 对 M0、M2 和 M5 集群。 不支持。 | |
内部命令,将oplog条目应用到当前数据集中。 | 不支持 无服务器实例。 | |
显示关于此成员在副本集中的角色的信息,包括是否为主节点。 | 是 | |
强制选定的主节点终止同步(追赶)然后完成到主节点的转换。 | 是 | |
防止当前成员在一段时间内寻求主节点选举。 | 不支持M0, M2, M5和M10集群。 | |
返回副本集的配置对象。 | 对 M0、M2 和 M5 集群。 不支持。 | |
返回一个报告副本集状态的文档。 | 对 M0、M2 和 M5 集群。 不支持。 | |
初始化一个新的副本集。 | 不支持M0, M2, M5和M10集群。 | |
启用或禁用维护模式,该模式将一个辅助节点置于 RECOVERING 状态。 | 不支持M0, M2, M5和M10集群。 | |
将新的配置应用到现有的副本集。 | 不支持M0, M2, M5和M10集群。 | |
动态调整副本集成员的oplog大小。仅适用于WiredTiger存储引擎。 | 不支持M10集群。 | |
不支持M0, M2, M5和M10集群。 | ||
显式覆盖默认逻辑,以选择从哪个成员进行复制。 | 不支持M0, M2, M5和M10集群。 |
分片命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
中止分片操作。 新功能在版本5.0. | 是 | |
停止正在进行的 新功能在版本8.0. | ||
停止正在进行的 新功能在版本8.0. | ||
不支持 无服务器实例。 | ||
不支持 无服务器实例。 | ||
计算用于评估分片键的指标。 新功能在版本7.0. | 是 | |
返回有关分片集合块是否平衡的信息。 | 不支持 无服务器实例。 | |
启动平衡器线程。 | 不支持 无服务器实例。 | |
返回有关平衡器状态的信息。 | 不支持 无服务器实例。 | |
停止平衡器线程。 | 不支持 无服务器实例。 | |
对分片元数据执行一系列一致性检查。 新功能在版本7.0. | 是 | |
清除分块的 jumbo 标志。 | 不支持 无服务器实例。 | |
清理失败的分片操作。 新功能在版本5.0. | 是 | |
强制分片操作阻塞写入并完成。 新功能在版本5.0. | 是 | |
在分片集合上配置平衡器设置。 新功能在版本5.3. | 是 | |
配置集合的查询采样。 新功能在版本7.0. | 是 | |
创建数据库。 | 不支持 无服务器实例。 | |
不支持 无服务器实例。 | ||
内部命令,用于报告分片集群的状态。 | 不支持M0、M2和M5集群以及无服务器实例。 | |
验证进程是否是 mongos 。 | 是 | |
返回配置的分片列表。 | 不支持 无服务器实例。 | |
内部命令,用于在不同分片之间迁移数据块。 | 不支持 无服务器实例。 | |
在从分片集群中删除分片时重新分配主分片。 | 不支持 无服务器实例。 | |
在分片之间移动范围。 | 是 | |
合并分片拥有的给定集合的所有可合并数据块。 | 不支持 无服务器实例。 | |
提供在单个分片上合并数据块的能力。 | 不支持 无服务器实例。 | |
通过添加后缀来细化集合的分区键。 | ||
开始从分片集群中删除分片的过程。 | ||
不支持 无服务器实例。 | ||
开始重新分片操作以更改集合的分区键,改变数据分布。 新功能在版本5.0. | 是 | |
防止对集合进行新的自动迁移。 | 不支持 无服务器实例。 | |
为集合启用分片功能,允许集合进行分片。 | 不支持 无服务器实例。 | |
报告 mongod 是否是分片集群的成员。 | 是 | |
创建一个新的数据块。 | 不支持 无服务器实例。 | |
将专用配置服务器配置为运行为配置分片。 新功能在版本8.0. | ||
将配置分片配置为运行为专用配置服务器。 新功能在版本8.0. | ||
已在MongoDB 5.0中删除。 内部命令,影响MongoDB部署中实例之间的连接。 | 是 | |
是 | ||
不支持 无服务器实例。 |
会话命令
命令 | 描述 | Atlas 支持 |
---|---|---|
中止事务。 | 是 | |
提交事务。 | 是 | |
在会话超时之前使会话过期。 | 是 | |
杀死所有会话。 | 不支持M0, M2, M5和M10集群。 | |
杀死所有与指定模式匹配的会话。 | 对 M0、M2 和 M5 集群。 不支持。 | |
杀死指定的会话。 | 对 M0、M2 和 M5 集群。 不支持。 | |
刷新空闲会话。 | 是 | |
启动一个新的会话。 | 是 |
管理命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
将非固定集合作为新的固定集合复制。 | 不支持M0、M2和M5集群以及无服务器实例。 | |
向集合添加选项或修改视图定义。 | 是 | |
对集合进行碎片整理并重建索引。 | 对 M0、M2 和 M5 集群。 不支持。 | |
压缩状态集合中指定的文档并删除冗余文档。 | 是 | |
将非固定集合转换为固定集合。 | 不支持 无服务器实例。 | |
创建集合或视图。 | 是 | |
为集合构建一个或多个索引。 | 是 | |
返回包含数据库实例正在进行的操作信息的文档。 | 是 | |
从数据库中删除指定的集合。 | 是 | |
删除当前数据库。 | 是 | |
删除到指定主机列表的出站连接。 | 是 | |
从集合中删除索引。 | 是 | |
是 | ||
刷新待写入的存储层并锁定数据库以允许备份。 | 不支持M0, M2, M5和M10集群。 | |
解锁一个fsync锁。 | 对 M0、M2 和 M5 集群。 不支持。 | |
检索部署的全局默认读写关注选项。 | 是 | |
从集群中的所有节点检索集群参数值。 新功能在版本6.0. | 是 | |
检索配置选项。 | 对 M0、M2 和 M5 集群。 支持有限。 | |
删除集合中的指定游标。 | 是 | |
根据操作ID终止一个操作。 | 对M0, M2, M5和M10集群提供有限支持。 | |
返回当前数据库中所有集合的列表。 | 是 | |
返回一个文档,列出所有数据库并返回基本数据库统计信息。 | 是 | |
列出集合的所有索引。 | 是 | |
旋转MongoDB日志,防止单个文件占用太多空间。 | 不支持M0, M2, M5和M10集群。 | |
重建集合上的所有索引。 | 对 M0、M2 和 M5 集群。 不支持。 | |
更改现有集合的名称。 | 是 | |
执行在线TLS证书轮换。 | 是 | |
启用或禁用向后不兼容的数据持久化功能。 | 不支持M0, M2, M5和M10集群。 | |
更改必须投票提交正在进行的索引构建的数据承载成员(即提交法定人数),包括主节点,以便主节点将这些索引标记为就绪。 | 是 | |
修改副本集或分片集群中所有节点的配置选项。 新功能在版本6.0. | 是 | |
修改配置选项。 | 不支持M0, M2, M5和M10集群。 | |
设置部署的全局默认读取和写入关注点选项。 | 是 | |
阻止和解除对整个集群的写入。 | 无 | |
不支持M0, M2, M5和M10集群。 | ||
检查数据库或集合的存储元数据在特定API版本中是否有效。 新功能在版本5.0. | 是 |
诊断命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
显示MongoDB构建的统计信息。 | 是 | |
报告指定集合的存储利用率统计信息。 | 是 | |
报告此MongoDB实例与其他部署中的MongoDB实例的出站连接的统计信息。 | 是 | |
报告当前连接的认证状态。 | 是 | |
返回数据范围的尺寸。内部使用。 | 对 M0、M2 和 M5 集群。 不支持。 | |
返回数据库及其集合的哈希值。 | 不支持M0、M2和M5集群以及无服务器实例。 | |
报告指定数据库的存储利用率统计信息。 | 对 M0、M2 和 M5 集群。 支持有限。 | |
返回有关各种操作执行的信息。 | 是 | |
返回MongoDB实例的运行时参数及其解析选项的文档。 | 是 | |
返回最近的日志消息。 | 是 | |
返回反映底层主机系统的数据。 | 对 M0、M2 和 M5 集群。 不支持。 | |
列出当前 mongod 实例提供的所有数据库命令。 | 是 | |
内部命令,返回当前正在持有或挂起的锁的信息。仅适用于 mongod 实例。 | 对 M0、M2 和 M5 集群。 不支持。 | |
内部命令,用于测试部署内部的连接性。 | 是 | |
数据库分析器的接口。 | 是 | |
返回有关实例级资源利用率和状态的指标集合。 | 是 | |
自MongoDB 5.0已删除。请使用 connPoolStats 代替。 | 不支持 无服务器实例。 | |
返回 mongod 实例中每个数据库的原始使用统计信息。 | 不支持 无服务器实例。 | |
内部命令,扫描集合的数据和索引以检查其正确性。 | 不支持M0、M2和M5集群以及无服务器实例。 | |
内部命令,返回有关当前客户端的信息。 | 是 |
审计命令
名称 | 描述 | MongoDB Atlas 支持 |
---|---|---|
无 | ||
将自定义消息发布到审计日志。 | 是 | |
无 |
Atlas搜索命令
新功能在版本7.0: (自6.0.7版本起也可用)