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:

{ isMaster: 1 }

Issue Commands

The mongo shell provides a helper method for running commands called db.runCommand(). The following operation in mongo runs the above command:

db.runCommand( { isMaster: 1 } )

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:

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

However, there’s also a command helper that automatically runs the command in the context of the admin database:

db.adminCommand( {buildInfo: 1} )

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).

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, operationTime returns:

For operations associated with causally consistent sessions, MongoDB drivers use this time to automatically set the afterClusterTime.

New in version 3.6.


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:

  • clusterTime: timestamp of the highest known cluster time for the member.
  • signature: a document that contains the hash of the cluster time and the id of the key used to sign the cluster time.

New in version 3.6.