On this page
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 | 强制mongod与master重新同步。仅适用于主从复制。 |
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。 |
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 | 关闭mongod或mongos进程。 |
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 | 将自定义消息发布到审核日志。 |