db.adminCommand() (original) (raw)
Important
mongosh Method
This page documents a mongosh method. This is _not_the documentation for a language-specific driver, such as Node.js.
For MongoDB API drivers, refer to the language-specificMongoDB driver documentation.
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. |
This method is available in deployments hosted in the following environments:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, seeUnsupported Commands.
- MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
- MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
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, seeAdministration Commands.
Note
For a mongod or mongos running withauthorization, 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.
The method returns a response document that contains the following fields:
Field | Description |
---|---|
Result fields specific to the command that ran. | |
ok | A number that indicates if the command succeeded (1) or failed (0). |
operationTime | The logical time of the operation. MongoDB uses the logical time to order operations. _Only for replica sets and sharded clusters._If the command does not generate an oplog entry, for example, a read operation, then the operation does not advance the logical clock. In this case, operationTime returns:For read concern "local","snapshot", and "linearizable", the timestamp of the most recent entry in the oplog.For read concern "majority", the timestamp of the most recent majority-acknowledged entry in the oplog.For operations associated with causally consistent sessions, the MongoDB drivers use the logical time to automatically set the Read Operations and afterClusterTime period. |
$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. |
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 } )
The following example uses db.adminCommand() to execute the renameCollection administrative database command to rename the orders
collection in the test
database toorders-2016
.
db.adminCommand(
{
renameCollection: "test.orders",
to: "test.orders-2016"
}
)
The following example uses the db.adminCommand() method to create a user named bruce
with the dbOwner role on theadmin
database.
Tip
You can use the passwordPrompt() method in conjunction with various user authentication management methods and commands to prompt for the password instead of specifying the password directly in the method or command call. However, you can still specify the password directly as you would with earlier versions of themongo
shell.
db.adminCommand(
{
createUser: "bruce",
pwd: passwordPrompt(), // or <cleartext password>
roles: [
{ role: "dbOwner", db: "admin" }
]
}
)