Database Commands

在本页面

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

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

db.runCommand( { <command> } )

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

db.adminCommand( { <command> } )

Note

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

User Commands

Aggregation Commands

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

Geospatial Commands

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

查询和写入操作命令

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

查询计划缓存命令

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

Database Operations

Authentication Commands

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

用户 Management 命令

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

角色 Management 命令

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

Replication Commands

NameDescription
applyOpsoplog个条目应用于当前数据集的内部命令。
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

NameDescription
addShardshard添加到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

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


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

Administration Commands

NameDescription
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

NameDescription
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测试部署内连接的内部命令。
profiledatabase profiler的界面。
serverStatus返回有关实例范围的资源利用率和状态的收集 Metrics。
shardConnPoolStats报告mongos的连接池上的统计信息,以供 Client 端针对分片进行操作。
top返回mongod实例中每个数据库的原始使用情况统计信息。
validate扫描集合数据和索引是否正确的内部命令。
whatsmyuri内部命令,用于返回有关当前 Client 端的信息。

Auditing Commands

NameDescription
logApplicationMessage将自定义消息发布到审核日志。