Use Database Commands¶
The MongoDB command interface provides access to all non CRUD database operations. Fetching server stats, initializing a replica set, and running a map-reduce job are all accomplished with commands.
See Database Commands for list of all commands sorted by function.
Database Command Form¶
You specify a command first by constructing a standard BSON
document whose first key is the name of the command. For example,
specify the isMaster
command using the following
BSON document:
Issue Commands¶
The mongo
shell provides a helper method for running
commands called db.runCommand()
. The following operation in
mongo
runs the above command:
Many drivers provide an equivalent for
the db.runCommand()
method. Internally, running commands
with db.runCommand()
is equivalent to a special query
against the $cmd collection.
Many common commands have their own shell helpers or wrappers in the
mongo
shell and drivers, such as the
db.isMaster()
method in the mongo
JavaScript
shell.
You can use the maxTimeMS
option to specify a time limit for the
execution of a command, see Terminate a Command for
more information on operation termination.
admin
Database Commands¶
You must run some commands on the admin database. Normally, these operations resemble the followings:
However, there’s also a command helper that automatically runs the
command in the context of the admin
database:
Command Responses¶
For all commands, MongoDB returns a response document that contains the following fields:
Field | Description |
---|---|
Result fields specific to the command | |
ok |
A number that indicates whether the command has succeeded
(1 ) or failed (0 ). |
operationTime |
The logical time of the performed operation, represented in MongoDB by the timestamp from the oplog entry. Only for replica sets and sharded clusters If the command does not generate an oplog entry, e.g. a read
operation, then the operation does not advance the logical
clock. In this case,
For operations associated with causally consistent sessions, MongoDB drivers use this time to automatically set the Read Operations and afterClusterTime. New in version 3.6. |
$clusterTime |
A document that returns the signed cluster time. Cluster time is a logical time used for ordering of operations. Only for replica sets and sharded clusters. For internal use only. The document contains the following fields:
New in version 3.6. |