在本页面
下文概述的所有命令文档均描述了命令及其可用参数,并提供了每个命令的文档模板或原型。一些命令文档还包括相关的 mongo
Shell帮助器。
要针对当前数据库运行命令,请使用db.runCommand()
:
db.runCommand( { <command> } )
要对admin
数据库运行管理命令,请使用db.adminCommand()
:
db.adminCommand( { <command> } )
注意
有关特定命令的详细信息,包括语法和示例,请单击特定命令以转到其参考页面。
用户命令
聚合命令
名称 | 描述 |
---|---|
aggregate |
使用聚合框架执行聚合任务,例如分组。 |
count |
计算集合或视图中的文档数。 |
distinct |
显示在集合或视图中为指定键找到的不同值。 |
mapReduce |
对大型数据集执行map-reduce聚合。 |
地理空间命令
名称 | 描述 |
---|---|
geoSearch |
执行使用MongoDB的haystack索引功能的地理空间查询。 |
查询和写操作命令
名称 | 描述 |
---|---|
delete |
删除一个或多个文档。 |
find |
返回集合或视图中的文档。 |
findAndModify |
返回并修改单个文档。 |
getLastError |
返回上一个操作的成功状态。 |
getMore |
返回当前由游标指向的批处理文档。 |
insert |
插入一个或多个文档。 |
resetError |
不推荐使用。重置上一个错误状态。 |
update |
更新一个或多个文档。 |
查询计划缓存命令
名称 | 描述 |
---|---|
planCacheClear |
删除集合的缓存查询计划。 |
planCacheClearFilters |
清除集合的索引过滤器。 |
planCacheListFilters |
列出集合的索引过滤器。 |
planCacheListPlans |
显示指定查询模型的缓存查询计划。 |
planCacheListQueryShapes |
显示存在其缓存的查询计划的查询模型。 |
planCacheSetFilter |
为集合设置索引过滤器。 |
数据库操作
认证命令
名称 | 描述 |
---|---|
authenticate |
使用用户名和密码启动经过身份验证的会话。 |
getnonce |
这是一个内部命令,用于生成用于身份验证的一次性密码。 |
logout |
终止当前已认证的会话。 |
用户管理命令
名称 | 描述 |
---|---|
createUser |
创建一个新用户。 |
dropAllUsersFromDatabase |
删除与数据库关联的所有用户。 |
dropUser |
删除一个用户。 |
grantRolesToUser |
向用户授予角色及其特权。 |
revokeRolesFromUser |
从用户删除角色。 |
updateUser |
更新用户的数据。 |
usersInfo |
返回有关指定用户的信息。 |
角色管理命令
名称 | 描述 |
---|---|
createRole |
创建一个角色并指定其特权。 |
dropRole |
删除用户定义的角色。 |
dropAllRolesFromDatabase |
从数据库中删除所有用户定义的角色。 |
grantPrivilegesToRole |
将特权分配给用户定义的角色。 |
grantRolesToRole |
指定角色,用户定义的角色将从这些角色继承特权。 |
invalidateUserCache |
刷新用户信息的内存缓存,包括凭据和角色。 |
revokePrivilegesFromRole |
从用户定义的角色中删除指定的特权。 |
revokeRolesFromRole |
从用户定义的角色中删除指定的继承角色。 |
rolesInfo |
返回指定角色的信息。 |
updateRole |
更新用户定义的角色。 |
复制命令
名称 | 描述 |
---|---|
applyOps |
应用于内部命令OPLOG条目到当前数据集。 |
isMaster |
显示有关此成员在副本集中的角色的信息,包括它是否为主角色。 |
replSetAbortPrimaryCatchUp |
强制选择的主数据库中止同步(追赶),然后完成到主数据库的过渡。 |
replSetFreeze |
防止当前成员在一段时间内寻求选举为主。 |
replSetGetConfig |
返回副本集的配置对象。 |
replSetGetStatus |
返回报告副本集状态的文档。 |
replSetInitiate |
初始化新的副本集。 |
replSetMaintenance |
启用或禁用维护模式,该模式将辅助节点置于一种RECOVERING 状态。 |
replSetReconfig |
将新配置应用于现有副本集。 |
replSetResizeOplog |
动态调整副本集成员的操作日志的大小。仅适用于WiredTiger存储引擎。 |
replSetStepDown |
当前primary 下台,成为一个secondary ,迫使选举。 |
replSetSyncFrom |
显式覆盖用于选择要复制的成员的默认逻辑。 |
也可以看看
有关复制的更多信息。
分片命令
名称 | 描述 |
---|---|
addShard |
添加一个分片到分片集群。 |
addShardToZone |
将分片与zone 关联。支持在分片群集中配置zone 。 |
balancerStart |
启动平衡器线程。 |
balancerStatus |
返回有关平衡器状态的信息。 |
balancerStop |
停止平衡器线程。 |
checkShardingIndex |
验证分片键索引的内部命令。 |
clearJumboFlag |
清除jumbo 数据块的标志。 |
cleanupOrphaned |
删除分片键值超出分片拥有的数据块范围之外的孤立数据。 |
enableSharding |
在特定数据库上启用分片。 |
flushRouterConfig |
强制mongod / mongos 实例更新其缓存的路由元数据。 |
getShardMap |
报告分片群集状态的内部命令。 |
getShardVersion |
返回配置服务器版本的内部命令。 |
isdbgrid |
验证进程是否是mongos 。 |
listShards |
返回已配置的分片列表。 |
medianKey |
不推荐使用的内部命令。请参阅splitVector 。 |
moveChunk |
在分片之间迁移块的内部命令。 |
movePrimary |
从分片集群中删除分片时,重新分配主分片。 |
mergeChunks |
提供在单个分片上组合块的功能。 |
removeShard |
启动从分片群集中删除分片的进程。 |
removeShardFromZone |
删除分片和zone 之间的关联。支持在分片群集中配置zone 。 |
setShardVersion |
内部命令,用于设置配置服务器版本。 |
shardCollection |
启用集合的分片功能,从而可以对集合进行分片。 |
shardingState |
报告mongod 是否为分片群集的成员。 |
split |
创建一个新的块。 |
splitChunk |
拆分块的内部命令。而是使用方法sh.splitFind() 和sh.splitAt() 。 |
splitVector |
确定分割点的内部命令。 |
unsetSharding |
影响MongoDB部署中实例之间的连接的内部命令。 |
updateZoneKeyRange |
添加或删除范围内的分片数据与zone 之间的关联。支持在分片群集中配置zone 。 |
也可以看看
有关MongoDB的分片功能的更多信息。
会话命令
指令 | 描述 |
---|---|
abortTransaction |
中止事务 版本4.0中的新功能。 |
commitTransaction |
提交事务 版本4.0中的新功能。 |
endSessions |
在会话超时期限之前终止会话。 3.6版的新功能。 |
killAllSessions |
杀死所有会话。 3.6版的新功能。 |
killAllSessionsByPattern |
杀死所有与指定模式匹配的会话 3.6版的新功能。 |
killSessions |
杀死指定的会话。 3.6版的新功能。 |
refreshSessions |
刷新空闲会话。 3.6版的新功能。 |
startSession |
开始新的会话。 3.6版的新功能。 |
管理命令
名称 | 描述 |
---|---|
clean |
内部名称空间管理命令。 |
cloneCollection |
将集合从远程主机复制到当前主机。 |
cloneCollectionAsCapped |
将未设置上限的集合复制为新的设置上限的集合。 |
collMod |
向集合添加选项或修改视图定义。 |
compact |
对集合进行分片整理并重建索引。 |
connPoolSync |
用于刷新连接池的内部命令。 |
convertToCapped |
将无上限的集合转换为有上限的集合。 |
create |
创建一个集合或视图。 |
createIndexes |
为一个集合构建一个或多个索引。 |
currentOp |
返回一个文档,该文档包含有关数据库实例正在进行的操作的信息。 |
drop |
从数据库中删除指定的集合。 |
dropDatabase |
删除当前数据库。 |
dropConnections |
将外向连接删除到指定的主机列表。 |
dropIndexes |
从集合中删除索引。 |
filemd5 |
返回使用GridFS存储的文件的md5哈希值。 |
fsync |
将挂起的写入刷新到存储层,并锁定数据库以允许备份。 |
fsyncUnlock |
解锁一个fsync锁。 |
getParameter |
检索配置选项。 |
killCursors |
杀死集合的指定游标。 |
killOp |
终止操作ID指定的操作。 |
listCollections |
返回当前数据库中的集合列表。 |
listDatabases |
返回列出所有数据库的文档,并返回基本数据库统计信息。 |
listIndexes |
列出集合的所有索引。 |
logRotate |
循环MongoDB日志,以防止单个文件占用过多空间。 |
reIndex |
重建集合上的所有索引。 |
renameCollection |
更改现有集合的名称。 |
setFeatureCompatibilityVersion |
启用或禁用保留向后不兼容的数据的功能。 |
setParameter |
修改配置选项。 |
shutdown |
关闭mongod 或mongos 进程。 |
诊断命令
名称 | 描述 |
---|---|
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 实例提供的所有数据库命令。 |
lockInfo |
内部命令,返回有关当前正在保留或挂起的锁的信息。仅适用于 mongod 实例。 |
netstat |
报告部署内连接性的内部命令。仅适用于mongos 实例。 |
ping |
测试部署内连接性的内部命令。 |
profile |
数据库事件探查器的接口。 |
serverStatus |
返回有关实例范围的资源利用率和状态的集合指标。 |
shardConnPoolStats |
报告mongos 连接池上的统计信息,以供客户端针对分片进行操作。 |
top |
返回mongod 实例中每个数据库的原始使用情况统计信息。 |
validate |
内部命令,用于扫描集合的数据并为正确性编制索引。 |
whatsmyuri |
返回有关当前客户端信息的内部命令。 |
免费监控命令
名称 | 描述 |
---|---|
setFreeMonitoring |
在运行时启用/禁用免费监视。 |
审核命令
名称 | 描述 |
---|---|
logApplicationMessage |
将自定义消息发布到审核日志。 |
译者:李冠飞
校对:
参见
原文 - Database Commands