Navigation

db.adminCommand()

Definition

db.adminCommand(command)

Provides a helper to run specified database commands against the admin database.

Parameter Type Description
command document or string A database command, specified either in document form or as a string. If specified as a string, the command cannot include any arguments.

Behavior

db.adminCommand runs commands against the admin database regardless of the database context in which it runs. The following commands are equivalent:

db.getSiblingDB("admin").runCommand(<command>)

db.adminCommand(<command>)

For a list of available administrative database commands, see Administration Commands.

Note

For a mongod or mongos running with authorization, the authorized user must have the appropriate privileges to run the database command. See the reference documentation for the command for more information on security requirements.

Response

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

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:

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

Examples

killOp

The following example uses the db.adminCommand() method to execute a killOp command to terminate an operation with opid 724. killOp is an administrative command and must be run against the admin database.

db.adminCommand( { "killOp": 1, "op": 724 } )

renameCollection

The following example uses db.adminCommand() to execute the renameCollection administrative database command to rename the orders collection in the test database to orders-2016.

db.adminCommand(
  {
     renameCollection: "test.orders",
     to: "test.orders-2016"
  }
)

createUser

The following example uses the db.adminCommand() method to create a user named bruce with the dbOwner role on the admin database.

Tip

Starting in version 4.2 of the mongo shell, you can use the passwordPrompt() method in conjunction with various user authentication/management methods/commands to prompt for the password instead of specifying the password directly in the method/command call. However, you can still specify the password directly as you would with earlier versions of the mongo shell.

db.adminCommand(
  {
    createUser: "bruce",
    pwd: passwordPrompt(),  // or <cleartext password>
    roles: [
      { role: "dbOwner", db: "admin" }
    ]
  }
)