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 | 将自定义消息发布到审核日志。 |