Provides a helper to run specified database commands. This is the preferred method to issue database commands, as it provides a consistent interface between the shell and drivers.

Parameter Type Description
command document or string “A database command, specified either in document form or as a string. If specified as a string, db.runCommand() transforms the string into a document.”

To specify a time limit in milliseconds, see Terminate Running Operations.


db.runCommand() runs the command in the context of the current database. Some commands are only applicable in the context of the admin database, and you must change your db object to before running these commands or use db.adminCommand().


The method 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.