数据库命令
下文概述的所有命令文档均描述了命令及其可用参数,并提供了每个命令的文档模板或原型。一些命令文档还包括相关的 mongosh
帮助器。
要针对当前数据库运行命令,请使用 db.runCommand()
:
db.runCommand( { <command> } )
要对 admin
数据库运行管理命令,请使用 db.adminCommand()
:
db.adminCommand( { <command> } )
注意
有关特定命令(包括事务语法和示例)的详细信息,请单击该命令的参考页面链接。
命令语法
运行数据库命令时,将该命令指定为 db.runCommand()
的文档。文档的键是要运行的命令,值通常为 1
。值不影响命令的输出,例如:
db.runCommand( { hello: 1 } )
用户命令
聚合命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
计算集合或视图中的文档数量。 | ||
显示在集合或视图中为指定键找到的非重复值。 | ||
为大型数据集执行 map-reduce 聚合。 | 不支持 M0、M2 和 M5 集群。 |
地理空间命令
查询和写入操作命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
在一个请求中对多个集合执行多次插入、更新和删除操作。 8.0版本新增。 | No | |
删除一个或多个文档。 | 是 | |
选择集合或视图中的文档。 | ||
返回并修改单个文档。 | 是 | |
返回游标当前指向的批量文档。 | 是 | |
插入一份或多份文档。 | 是 | |
在 MongoDB 5.0 中删除。重置上次错误状态。 | No | |
更新一个或多个文档。 | 是 |
查询计划缓存命令
名称 | 说明 | 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 集群。 | |
向用户分配角色及其特权。 | ||
从用户中删除角色。 | ||
更新用户数据。 | ||
返回指定用户的信息。 |
角色管理命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
创建角色并指定其特权。 | ||
删除用户定义的角色。 | ||
删除数据库中所有用户定义的角色。 | 不支持 M0、M2 和 M5 集群。 | |
为用户定义的角色分配特权。 | 不支持 M0、M2 和 M5 集群。 | |
指定用户定义角色继承相关特权的角色。 | 不支持 M0、M2 和 M5 集群。 | |
刷新内存中的用户信息缓存,包括凭证和角色。 | 不支持 M0、M2 和 M5 集群。 | |
从用户定义的角色中删除指定特权。 | 不支持 M0、M2 和 M5 集群。 | |
从用户定义的角色中删除指定的继承角色。 | 不支持 M0、M2 和 M5 集群。 | |
返回指定角色的信息。 | 是 | |
更新用户定义的角色。 |
复制命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
向 oplog 写入一个非操作条目。 | 不支持 M0、M2 和 M5 集群。 | |
将 oplog 条目应用于当前数据集的内部命令。 | 不支持无服务器实例。 | |
显示该节点在副本集中的角色信息,包括是否为主副本。 | 是 | |
强制当选的主节点放弃同步(追赶)过程,然后完成到主节点的过渡。 | 是 | |
阻止当前节点在一段时间内寻求选举为主节点。 | ||
返回副本集的配置对象。 | 不支持 M0、M2 和 M5 集群。 | |
返回报告副本集状态的文档。 | 不支持 M0、M2 和 M5 集群。 | |
初始化新的副本集。 | ||
启用或禁用维护模式,该模式使从节点处于 RECOVERING 状态。 | ||
将新配置应用于现有副本集。 | ||
动态调整副本集节点的 oplog 大小。仅适用于 WiredTiger 存储引擎。 | 不支持 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 支持 |
---|---|---|
中止事务。 | 是 | |
提交 ACID 事务。 | 是 | |
在会话超时前使会话过期。 | 是 | |
终止所有会话。 | ||
终止与指定模式匹配的所有会话 | 不支持 M0、M2 和 M5 集群。 | |
终止指定会话。 | 不支持 M0、M2 和 M5 集群。 | |
刷新空闲会话。 | 是 | |
启动新会话。 | 是 |
管理命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
将非固定大小集合复制为新的固定大小集合。 | 不支持 M0、M2 和 M5 集群 及无服务器实例。 | |
为集合添加选项或修改视图定义。 | 是 | |
对集合进行碎片整理并重新构建索引。 | 不支持 M0、M2 和 M5 集群。 | |
压缩状态集合中指定的文档并删除冗余文档。 | 是 | |
将非固定大小集合转换为固定大小集合。 | 不支持无服务器实例。 | |
创建集合或视图。 | 是 | |
为集合构建一个或多个索引。 | 是 | |
返回一个文档,其中包含有关数据库实例正在进行的操作的信息。 | 是 | |
从数据库中删除指定的集合。 | 是 | |
删除当前数据库。 | 是 | |
删除指向指定主机列表的传出连接。 | 是 | |
从集合中删除索引。 | 是 | |
是 | ||
将待处理的写入刷新到存储层,并锁定数据库以允许备份。 | ||
解锁一个 fsync 锁。 | 不支持 M0、M2 和 M5 集群。 | |
检索部署的全局默认读关注和写关注选项。 | 是 | |
从集群中的所有节点检索集群参数值。 6.0 版本中的新功能。 | 是 | |
Retrieves configuration options. | ||
终止集合的指定游标。 | 是 | |
终止操作 ID 所指定的操作。 | ||
返回当前数据库中的集合列表。 | 是 | |
返回一份文档,其中列出了所有数据库并返回基本数据库统计信息。 | 是 | |
列出集合的所有索引。 | 是 | |
轮换 MongoDB 日志以防止单个文件占用过多空间。 | ||
重新构建集合上的所有索引。 | 不支持 M0、M2 和 M5 集群。 | |
更改现有集合的名称。 | 是 | |
执行在线 TLS 证书轮换。 | 是 | |
启用或禁用可将向后兼容的数据持久化的功能。 | ||
更改数据承载成员(即提交法定人数),包括主节点,必须在主节点将这些索引标记为就绪之前投票以提交正在进行的索引构建。 | 是 | |
修改副本集或分片集群中所有节点的配置选项。 6.0 版本中的新功能。 | 是 | |
修改配置选项。 | ||
设置部署的全局默认读关注和写关注选项。 | 是 | |
阻止和取消阻止对整个集群的写入。 | No | |
检查数据库或集合的存储元数据在特定 API 版本中是否有效。 版本 5.0 中的新增功能。 | 是 |
诊断命令
名称 | 说明 | MongoDB Atlas 支持 |
---|---|---|
显示有关 MongoDB 版本的统计信息。 | 是 | |
报告指定集合的存储利用率统计信息。 | 是 | |
报告从该 MongoDB 实例到部署中的其他 MongoDB 实例的传出连接的统计信息。 | 是 | |
报告当前连接的身份验证状态。 | 是 | |
返回一定范围数据的数据大小。供内部使用。 | 不支持 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 支持 |
---|---|---|
No | ||
将自定义消息发布到审核日志。 | 是 | |
No |
Atlas Search 命令
7.0 版本中的新增功能:(也可从 6.0.7 开始使用)
名称 | 说明 |
---|---|
在指定的集合上创建一个或多个 Atlas Search 索引。 | |
删除现有 Atlas Search 索引。 | |
更新现有 Atlas Search 索引。 |