翻译或纠错本页面

使用数据库命令

MongoDB命令接口为所有的 non CRUD 数据库操作提供了入口。读取服务器状态,初始化复制集,以及运行一个映射化简任务等等,都是通过命令来完成的。

See Database Commands for list of all commands sorted by function.

数据库命令格式

您指定一个命令,首先要构建一个标准的 BSON 文档,文档的第一个键是命令的名称。例如,指定 isMaster 命令将使用下面的 BSON 文档:

{ isMaster: 1 }

发出命令

mongo shell为运行命令提供了一个辅助方法,称之为 db.runCommand() 。接下来的操作是在 mongo 里运行上文提到的命令:

db.runCommand( { isMaster: 1 } )

许多 drivers 都提供了一个等价于 db.runCommand() 的方法。在内部,通过 db.runCommand() 来运行命令相当于一个专门针对 $cmd 集合的查询。

mongo shell和驱动里,许多命令通常都拥有他们自己的shell辅助方法或封装,就像 mongo JavaScript shell里的 db.isMaster() 方法一样。

您可以使用``maxTimeMS``选项来指定一个时间去限定命令的执行,更多关于终止操作的详情请见 Terminate a Command

admin 数据库命令

您必须在 admin database 才能运行某些命令。通常情况,这些操作类似下面这些:

use admin
db.runCommand( {buildInfo: 1} )

然而,还有一个命令行帮助,能够在``admin``数据库环境里自动运行命令:

db._adminCommand( {buildInfo: 1} )

命令响应

所有命令返回且至少返回一个带有``ok``字段的文档来指示命令是否运行成功:

{ 'ok': 1 }

命令执行失败后返回的``ok``字段的值为``0``。