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聚合。

地理空间命令

名称 描述
geoSearch 在 MongoDB 5.0 中删除。执行使用 MongoDB 的 haystack 索引功能的地理空间查询。

查询和写操作命令

名称 描述
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 将自定义消息发布到审核日志。
posted @   Earen  阅读(728)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示