Database Commands

在本页面

下文概述的所有命令文档均描述了命令及其可用参数,并提供了每个命令的文档模板或原型。一些命令文档还包括相关的mongo shell 帮助器。

要针对当前数据库运行命令,请使用db.runCommand()

db.runCommand( { <command> } )

要对admin数据库运行 Management 命令,请使用db.adminCommand()

db.adminCommand( { <command> } )

Note

有关特定命令的详细信息,包括语法和示例,请单击特定命令以转到其参考页。

User Commands

Aggregation Commands

Name Description
aggregate 使用聚合框架执行aggregation tasks(例如分组)。
count 计算集合或视图中的文档数。
distinct 显示在集合或视图中为指定键找到的不同值。
group 已弃用。通过指定的键将集合中的文档分组并执行简单的汇总。
mapReduce 对大型数据集执行map-reduce聚合。

Geospatial Commands

Name Description
geoNear 执行地理空间查询,该查询返回最接近给定点的文档。
geoSearch 执行使用 MongoDB 的haystack index功能的地理空间查询。

查询和写入操作命令

Name Description
delete 删除一个或多个文档。
eval 不推荐使用。在数据库服务器上运行 JavaScript 函数。
find 选择集合或视图中的文档。
findAndModify 返回并修改单个文档。
getLastError 返回上一个操作的成功状态。
getMore 返回当前由光标指向的批处理文档。
getPrevError 已弃用。返回包含自上一个resetError命令以来的所有错误的状态文档。
insert 插入一个或多个文档。
parallelCollectionScan 让应用程序从集合中读取文档时使用多个并行游标。
resetError 已弃用。重置上一个错误状态。
update 更新一个或多个文档。

查询计划缓存命令

Name Description
planCacheClear 删除集合的缓存查询计划。
planCacheClearFilters 清除集合的索引过滤器。
planCacheListFilters 列出集合的索引过滤器。
planCacheListPlans 显示指定查询形状的缓存查询计划。
planCacheListQueryShapes 显示存在查询计划的查询形状。
planCacheSetFilter 为集合设置索引过滤器。

Database Operations

Authentication Commands

Name Description
authenticate 使用用户名和密码启动经过身份验证的会话。
authSchemaUpgrade 支持版本 2.4 和 2.6 之间的用户数据升级过程。
copydbgetnonce 这是一个内部命令,用于生成与copydb命令一起使用的一次性密码。
getnonce 这是一个内部命令,用于生成用于身份验证的一次性密码。
logout 终止当前已认证的会话。

用户 Management 命令

Name Description
createUser 创建一个新用户。
dropAllUsersFromDatabase 删除与数据库关联的所有用户。
dropUser 删除一个用户。
grantRolesToUser 向用户授予角色及其特权。
revokeRolesFromUser 从用户删除角色。
updateUser 更新用户的数据。
usersInfo 返回有关指定用户的信息。

角色 Management 命令

Name Description
createRole 创建一个角色并指定其特权。
dropRole 删除用户定义的角色。
dropAllRolesFromDatabase 从数据库中删除所有用户定义的角色。
grantPrivilegesToRole 将特权分配给用户定义的角色。
grantRolesToRole 指定角色,用户定义的角色将从这些角色继承特权。
invalidateUserCache 刷新用户信息的内存缓存,包括凭据和角色。
revokePrivilegesFromRole 从用户定义的角色中删除指定的特权。
revokeRolesFromRole 从用户定义的角色中删除指定的继承角色。
rolesInfo 返回指定角色的信息。
updateRole 更新用户定义的角色。

Replication Commands

Name Description
applyOps oplog个条目应用于当前数据集的内部命令。
isMaster 显示有关此成员在副本集中的角色的信息,包括它是否为主角色。
replSetAbortPrimaryCatchUp 强制当选的primary中止同步(追赶),然后完成向主要对象的转换。
replSetFreeze 阻止当前成员在一段时间内寻求选举为primary
replSetGetConfig 返回副本集的配置对象。
replSetGetStatus 返回报告副本集状态的文档。
replSetInitiate 初始化新的副本集。
replSetMaintenance 启用或禁用维护模式,该模式将secondary节点置于RECOVERING状态。
replSetReconfig 将新配置应用于现有副本集。
replSetResizeOplog 动态调整副本集成员的操作日志的大小。仅适用于 WiredTiger 存储引擎。
replSetStepDown 强制当前的primary“下台”成为secondary,从而迫使选举。
replSetSyncFrom 显式覆盖用于选择要复制的成员的默认逻辑。
resync 强制mongodmaster重新同步。仅适用于主从复制。

See also

Replication了解有关复制的更多信息。

Sharding Commands

Name Description
addShard shard添加到sharded cluster
addShardToZone 将分片与zone关联。支持在分片群集中配置zones
balancerStart 启动平衡器线程。
balancerStatus 返回有关平衡器状态的信息。
balancerStop 停止平衡器线程。
checkShardingIndex 验证分片键索引的内部命令。
cleanupOrphaned 使用分片键值超出分片所拥有的块范围之外的孤立数据。
enableSharding 在特定数据库上启用分片。
flushRouterConfig 强制mongod/mongos实例更新其缓存的路由元数据。
getShardMap 报告分片群集状态的内部命令。
getShardVersion 返回config server版本的内部命令。
isdbgrid 验证一个进程是mongos
listShards 返回已配置碎片的列表。
medianKey 不推荐使用的内部命令。参见splitVector
moveChunk 在分片之间迁移块的内部命令。
movePrimary 从分片群集中删除分片时,请重新分配primary shard
mergeChunks 提供在单个分片上组合块的功能。
removeShard 开始从分片群集中删除分片的过程。
removeShardFromZone 删除分片和zone之间的关联。支持在分片群集中配置zones
setShardVersion 用于设置config server版本的内部命令。
shardCollection 启用集合的分片功能,从而可以对集合进行分片。
shardingState 报告mongod是否为分片群集的成员。
split 创建一个新的chunk
splitChunk 拆分块的内部命令。而是使用方法sh.splitFind()sh.splitAt()
splitVector 确定分割点的内部命令。
unsetSharding 影响 MongoDB 部署中实例之间的连接的内部命令。
updateZoneKeyRange 添加或删除范围内的分片数据与zone之间的关联。支持在分片群集中配置zones

See also

Sharding了解有关 MongoDB 分片功能的更多信息。

Session Commands

Commands Descriptions
endSessions 在会话的超时期限之前使会话过期。


3.6 版中的新功能。
| killAllSessions |杀死所有会话。
3.6 版中的新功能。
| killAllSessionsByPattern |杀死所有与指定模式匹配的会话
3.6 版中的新功能。
| killSessions |杀死指定的会话。
3.6 版中的新功能。
| refreshSessions |刷新空闲会话。
3.6 版中的新功能。
| startSession |开始新的会话。
3.6 版中的新功能。

Administration Commands

Name Description
clean 内部名称空间 Management 命令。
clone 将数据库从远程主机复制到当前主机。
cloneCollection 将集合从远程主机复制到当前主机。
cloneCollectionAsCapped 将未设置上限的集合复制为新的capped collection
collMod 向集合添加选项或修改视图定义。
compact 对集合进行碎片整理并重建索引。
connPoolSync 用于刷新连接池的内部命令。
convertToCapped 将无上限的集合转换为有上限的集合。
copydb 将数据库从远程主机复制到当前主机。
create 创建一个集合或视图。
createIndexes 为一个集合构建一个或多个索引。
currentOp 返回一个文档,其中包含有关数据库实例正在进行的操作的信息。
drop 从数据库中删除指定的集合。
dropDatabase 删除当前数据库。
dropIndexes 从集合中删除索引。
filemd5 返回使用GridFS存储的文件的md5哈希值。
fsync 将挂起的写入刷新到存储层,并锁定数据库以允许备份。
fsyncUnlock 解锁一个 fsync 锁。
getParameter 检索配置选项。
killCursors 杀死集合的指定游标。
killOp 终止操作 ID 指定的操作。
listCollections 返回当前数据库中的集合列表。
listDatabases 返回列出所有数据库的文档,并返回基本数据库统计信息。
listIndexes 列出集合的所有索引。
logRotate 旋转 MongoDB 日志,以防止单个文件占用过多空间。
reIndex 重建集合上的所有索引。
renameCollection 更改现有集合的名称。
repairDatabase 通过丢弃无效或损坏的数据来重建数据库和索引。
setFeatureCompatibilityVersion 启用或禁用保留向后不兼容的数据的功能。
setParameter 修改配置选项。
shutdown 关闭mongodmongos进程。
touch 将文档和索引从数据存储加载到内存。

Diagnostic Commands

Name Description
availableQueryOptions 内部命令,报告当前 MongoDB 实例的功能。
buildInfo 显示有关 MongoDB 构建的统计信息。
collStats 报告指定集合的存储利用率静态信息。
connPoolStats 报告从此 MongoDB 实例到部署中其他 MongoDB 实例的传出连接的统计信息。
connectionStatus 报告当前连接的身份验证状态。
cursorInfo 在 MongoDB 3.2 中已删除。替换为metrics.cursor
dataSize 返回数据范围的数据大小。供内部使用。
dbHash 返回数据库及其集合的哈希值。
dbStats 报告指定数据库的存储利用率统计信息。
diagLogging 在 MongoDB 3.6 中已删除。要捕获,重放和分析发送到您的 MongoDB 部署的命令,请使用mongoreplay
driverOIDTest 将 ObjectId 转换为字符串以支持测试的内部命令。
explain 返回有关各种操作执行的信息。
features 报告当前 MongoDB 实例中可用的功能。
getCmdLineOpts 返回带有 MongoDB 实例及其解析选项的运行时参数的文档。
getLog 返回最近的日志消息。
hostInfo 返回反映基础主机系统的数据。
isSelf 内部命令支持测试。
listCommands 列出当前mongod实例提供的所有数据库命令。
netstat 报告部署内连接性的内部命令。仅适用于mongos个实例。
ping 测试部署内连接的内部命令。
profile database profiler的界面。
serverStatus 返回有关实例范围的资源利用率和状态的收集 Metrics。
shardConnPoolStats 报告mongos的连接池上的统计信息,以供 Client 端针对分片进行操作。
top 返回mongod实例中每个数据库的原始使用情况统计信息。
validate 扫描集合数据和索引是否正确的内部命令。
whatsmyuri 内部命令,用于返回有关当前 Client 端的信息。

Auditing Commands

Name Description
logApplicationMessage 将自定义消息发布到审核日志。
首页