MongoDB 使用手册 - 数据库命令
下面概述的所有命令文档都描述了命令及其可用参数,并为每个命令提供了文档模板或原型。一些命令文档还包括相关的 mongosh
帮助程序。
要针对当前数据库运行命令,请使用 db.runCommand()
:
db.runCommand( { <command> } )
要对 admin
数据库运行管理命令,请使用 db.adminCommand()
:
db.adminCommand( { <command> } )
有关特定命令的详细信息,包括语法和示例,请单击特定命令以转到其参考页面。
命令语法
当您运行数据库命令时,您将该命令指定为 db.runCommand()
. 文档的键是要运行的命令,值通常以1. 该值不影响命令的输出,例如:
db.runCommand( { hello: 1 } )
用户命令
聚合命令
名称 | 描述 |
---|---|
aggregate |
执行聚合任务,例如$group 使用聚合管道。 |
count |
计算集合或视图中的文档数。 |
distinct |
显示为集合或视图中的指定键找到的不同值。 |
mapReduce |
对大型数据集执行map-reduce聚合。 |
地理空间命令
查询和写操作命令
名称 | 描述 |
---|---|
delete |
删除一个或多个文档。 |
find |
选择集合或视图中的文档。 |
findAndModify |
返回并修改单个文档。 |
getLastError |
返回上一次操作的成功状态。 |
getMore |
返回当前光标指向的文档批次。 |
insert |
插入一个或多个文档。 |
resetError |
在 MongoDB 5.0 中删除。重置最后的错误状态。 |
update |
更新一个或多个文档。 |
查询计划缓存命令
名称 | 描述 |
---|---|
planCacheClear |
删除集合的缓存查询计划。 |
planCacheClearFilters |
清除集合的索引过滤器。 |
planCacheListFilters |
列出集合的索引过滤器。 |
planCacheSetFilter |
为集合设置索引过滤器。 |
数据库操作
认证命令
名称 | 描述 |
---|---|
authenticate |
使用用户名和密码启动经过身份验证的会话。 |
getnonce |
这是一个内部命令,用于生成用于身份验证的一次性密码。 |
logout |
终止当前经过身份验证的会话。 |
用户管理命令
名称 | 描述 |
---|---|
createUser |
创建一个新用户。 |
dropAllUsersFromDatabase |
删除与数据库关联的所有用户。 |
dropUser |
删除单个用户。 |
grantRolesToUser |
将角色及其权限授予用户。 |
revokeRolesFromUser |
从用户中删除角色。 |
updateUser |
更新用户的数据。 |
usersInfo |
返回有关指定用户的信息。 |
角色管理命令
名称 | 描述 |
---|---|
createRole |
创建一个角色并指定其权限。 |
dropRole |
删除用户定义的角色。 |
dropAllRolesFromDatabase |
从数据库中删除所有用户定义的角色。 |
grantPrivilegesToRole |
将权限分配给用户定义的角色。 |
grantRolesToRole |
指定用户定义的角色从中继承权限的角色。 |
invalidateUserCache |
刷新用户信息的内存缓存,包括凭据和角色。 |
revokePrivilegesFromRole |
从用户定义的角色中删除指定的权限。 |
revokeRolesFromRole |
从用户定义的角色中删除指定的继承角色。 |
rolesInfo |
返回指定角色的信息。 |
updateRole |
更新用户定义的角色。 |
复制命令
名称 | 描述 |
---|---|
applyOps |
将oplog条目应用于当前数据集的内部命令。 |
hello |
显示此成员在副本集中的角色信息,包括它是否是主成员。 |
replSetAbortPrimaryCatchUp |
强制选定的主节点中止同步(赶上),然后完成向主节点的转换。 |
replSetFreeze |
阻止当前成员在一段时间内寻求选举为主要成员。 |
replSetGetConfig |
返回副本集的配置对象。 |
replSetGetStatus |
返回报告副本集状态的文档。 |
replSetInitiate |
初始化一个新的副本集。 |
replSetMaintenance |
启用或禁用维护模式,该模式将辅助节点置于某种 RECOVERING 状态。 |
replSetReconfig |
将新配置应用于现有副本集。 |
replSetResizeOplog |
动态调整副本集成员的 oplog 大小。仅适用于 WiredTiger 存储引擎。 |
replSetStepDown |
强制当前主节点下台并成为次节点,从而强制进行选举。 |
replSetSyncFrom |
显式覆盖用于选择要复制的成员的默认逻辑。 |
分片命令
名称 | 描述 |
---|---|
abortReshardCollection |
中止重新分片操作。 5.0版中的新功能。 |
addShard |
将分片添加到分片集群。 |
addShardToZone |
将分片与区域关联。支持在分片集群中配置区域。 |
balancerCollectionStatus |
返回有关分片集合的块是否平衡的信息。 4.4版中的新功能。 |
balancerStart |
启动平衡器线程。 |
balancerStatus |
返回有关平衡器状态的信息。 |
balancerStop |
停止平衡器线程。 |
checkShardingIndex |
验证分片键索引的内部命令。 |
clearJumboFlag |
清除 jumbo 块的标志。 |
cleanupOrphaned |
删除具有分片拥有的块范围之外的分片键值的孤立数据。 |
cleanupReshardCollection |
清理失败的重新分片操作。 5.0版中的新功能。 |
commitReshardCollection |
强制重新分片操作以阻止写入并完成。 5.0版中的新功能。 |
enableSharding |
在特定数据库上启用分片。 |
flushRouterConfig |
强制mongod /mongos 实例更新其缓存的路由元数据。 |
getShardMap |
报告分片集群状态的内部命令。 |
getShardVersion |
返回配置服务器版本的内部命令。 |
isdbgrid |
验证进程是否为mongos . |
listShards |
返回已配置分片的列表。 |
medianKey |
不推荐使用的内部命令。见 splitVector 。 |
moveChunk |
在分片之间迁移块的内部命令。 |
movePrimary |
从分片集群中删除分片时重新分配主分片。 |
mergeChunks |
提供在单个分片上组合块的能力。 |
refineCollectionShardKey |
通过向现有键添加后缀来优化集合的分片键。 4.4版中的新功能。 |
removeShard |
开始从分片集群中删除分片的过程。 |
removeShardFromZone |
删除 shard 和zone之间的关联。支持在分片集群中配置区域。 |
reshardCollection |
启动重新分片操作以更改集合的分片键,从而更改数据的分布。 5.0版中的新功能。 |
setShardVersion |
用于设置配置服务器版本的内部命令。 |
shardCollection |
为集合启用分片功能,允许对集合进行分片。 |
shardingState |
报告 是否mongod是分片集群的成员。 |
split |
创建一个新块。 |
splitVector |
确定分割点的内部命令。 |
unsetSharding |
在 MongoDB 5.0 中删除。影响 MongoDB 部署中实例之间连接的内部命令。 |
updateZoneKeyRange |
添加或删除一系列分片数据和zone之间的关联。支持在分片集群中配置区域。 |
会话命令
名称 | 描述 |
---|---|
abortTransaction |
中止事务。 4.0版中的新功能。 |
commitTransaction |
提交事务。 4.0版中的新功能。 |
endSessions |
在会话超时期限之前使会话过期。 3.6版中的新功能。 |
killAllSessions |
杀死所有会话。3.6版中的新功能。 |
killAllSessionsByPattern |
杀死与指定模式匹配的所有会话 3.6版中的新功能。 |
killSessions |
杀死指定的会话。 3.6版中的新功能。 |
refreshSessions |
刷新空闲会话。 3.6版中的新功能。 |
startSession |
开始一个新会话。 3.6版中的新功能。 |
管理命令
名称 | 描述 |
---|---|
cloneCollectionAsCapped |
将无上限集合复制为新的上限集合。 |
collMod |
向集合添加选项或修改视图定义。 |
compact |
对集合进行碎片整理并重建索引。 |
connPoolSync |
刷新连接池的内部命令。 |
convertToCapped |
将非上限集合转换为上限集合。 |
create |
创建集合或视图。 |
createIndexes |
为集合构建一个或多个索引。 |
currentOp |
返回一个文档,其中包含有关数据库实例正在进行的操作的信息。 |
drop |
从数据库中删除指定的集合。 |
dropDatabase |
删除当前数据库。 |
dropConnections |
丢弃到指定主机列表的传出连接。 |
dropIndexes |
从集合中删除索引。 |
filemd5 |
返回使用GridFS存储的文件的md5哈希。 |
fsync |
将挂起的写入刷新到存储层并锁定数据库以允许备份。 |
fsyncUnlock |
解锁一个 fsync 锁。 |
getDefaultRWConcern |
检索部署的全局默认读写关注选项。 4.4版中的新功能。 |
getParameter |
检索配置选项。 |
killCursors |
杀死集合的指定游标。 |
killOp |
终止操作 ID 指定的操作。 |
listCollections |
返回当前数据库中的集合列表。 |
listDatabases |
返回列出所有数据库并返回基本数据库统计信息的文档。 |
listIndexes |
列出集合的所有索引。 |
logRotate |
轮换 MongoDB 日志以防止单个文件占用过多空间。 |
reIndex |
重建集合上的所有索引。 |
renameCollection |
更改现有集合的名称。 |
rotateCertificates |
执行在线 TLS 证书轮换。 |
setFeatureCompatibilityVersion |
启用或禁用保留向后不兼容的数据的功能。 |
setIndexCommitQuorum |
更改最小数量的数据承载成员(即提交仲裁),包括主节点,必须在主节点将这些索引标记为就绪之前投票提交正在进行的索引构建。 |
setParameter |
修改配置选项。 |
setDefaultRWConcern |
为部署设置全局默认读写关注选项。 4.4版中的新功能。 |
shutdown |
关闭mongod or mongos 进程。 |
诊断命令
名称 | 描述 |
---|---|
availableQueryOptions |
报告当前 MongoDB 实例功能的内部命令。 |
buildInfo |
显示有关 MongoDB 构建的统计信息。 |
collStats |
报告指定集合的存储利用率统计数据。 |
connPoolStats |
报告从该 MongoDB 实例到部署中其他 MongoDB 实例的传出连接的统计信息。 |
connectionStatus |
报告当前连接的身份验证状态。 |
cursorInfo |
在 MongoDB 3.2 中删除。替换为metrics.cursor。 |
dataSize |
返回数据范围的数据大小。供内部使用。 |
dbHash |
返回数据库及其集合的哈希值。 |
dbStats |
报告指定数据库的存储利用率统计信息。 |
driverOIDTest |
将 ObjectId 转换为字符串以支持测试的内部命令。 |
explain |
返回有关执行各种操作的信息。 |
features |
报告当前 MongoDB 实例中可用的功能。 |
getCmdLineOpts |
返回一个文档,其中包含 MongoDB 实例的运行时参数及其解析的选项。 |
getLog |
返回最近的日志消息。 |
hostInfo |
返回反映底层主机系统的数据。 |
_isSelf |
支持测试的内部命令。 |
listCommands |
列出当前mongod实例提供的所有数据库命令。 |
lockInfo |
返回有关当前持有或挂起的锁的信息的内部命令。仅适用于 mongod实例。 |
netstat |
报告部署内连接的内部命令。仅适用于mongos实例。 |
ping |
测试部署内连接的内部命令。 |
profile |
数据库探查器的接口。 |
serverStatus |
返回有关实例范围的资源利用率和状态的集合指标。 |
shardConnPoolStats |
在 MongoDB 5.0 中删除。改为使用connPoolStats。 |
top |
返回实例中每个数据库的原始使用情况统计信息mongod。 |
validate |
扫描集合的数据和索引的正确性的内部命令。 |
whatsmyuri |
返回当前客户端信息的内部命令。 |
免费监控命令
名称 | 描述 |
---|---|
setFreeMonitoring | 在运行时启用/禁用免费监控。 |
审计命令
名称 | 描述 |
---|---|
logApplicationMessage | 将自定义消息发布到审核日志。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构