- Reference >
- Database Commands
Database Commands¶
On this page
All command documentation outlined below describes a command and
its available parameters and provides a document template or prototype
for each command. Some command documentation also includes the relevant
mongo shell helpers.
To run a command against the current database, use db.runCommand():
To run an administrative command against the admin database, use db.adminCommand():
Note
For details on specific commands, including syntax and examples, click on the specific command to go to its reference page.
Command Syntax¶
When you run a database command, you specify the command as a document
to db.runCommand(). The document’s key is the command to run,
and the value is typically supplied as 1. The value does not affect
the output of the command for example:
User Commands¶
Aggregation Commands¶
| Name | Description |
|---|---|
aggregate |
Performs aggregation tasks such as group using the aggregation framework. |
count |
Counts the number of documents in a collection or a view. |
distinct |
Displays the distinct values found for a specified key in a collection or a view. |
mapReduce |
Performs map-reduce aggregation for large data sets. |
Geospatial Commands¶
| Name | Description |
|---|---|
geoSearch |
Performs a geospatial query that uses MongoDB’s haystack index functionality. |
Query and Write Operation Commands¶
| Name | Description |
|---|---|
delete |
Deletes one or more documents. |
find |
Selects documents in a collection or a view. |
findAndModify |
Returns and modifies a single document. |
getLastError |
Returns the success status of the last operation. |
getMore |
Returns batches of documents currently pointed to by the cursor. |
insert |
Inserts one or more documents. |
resetError |
Deprecated. Resets the last error status. |
update |
Updates one or more documents. |
Query Plan Cache Commands¶
| Name | Description |
|---|---|
planCacheClear |
Removes cached query plan(s) for a collection. |
planCacheClearFilters |
Clears index filter(s) for a collection. |
planCacheListFilters |
Lists the index filters for a collection. |
planCacheListPlans |
Displays the cached query plans for the specified query shape. |
planCacheListQueryShapes |
Displays the query shapes for which cached query plans exist. |
planCacheSetFilter |
Sets an index filter for a collection. |
Database Operations¶
Authentication Commands¶
| Name | Description |
|---|---|
authenticate |
Starts an authenticated session using a username and password. |
getnonce |
This is an internal command to generate a one-time password for authentication. |
logout |
Terminates the current authenticated session. |
User Management Commands¶
| Name | Description |
|---|---|
createUser |
Creates a new user. |
dropAllUsersFromDatabase |
Deletes all users associated with a database. |
dropUser |
Removes a single user. |
grantRolesToUser |
Grants a role and its privileges to a user. |
revokeRolesFromUser |
Removes a role from a user. |
updateUser |
Updates a user’s data. |
usersInfo |
Returns information about the specified users. |
Role Management Commands¶
| Name | Description |
|---|---|
createRole |
Creates a role and specifies its privileges. |
dropRole |
Deletes the user-defined role. |
dropAllRolesFromDatabase |
Deletes all user-defined roles from a database. |
grantPrivilegesToRole |
Assigns privileges to a user-defined role. |
grantRolesToRole |
Specifies roles from which a user-defined role inherits privileges. |
invalidateUserCache |
Flushes the in-memory cache of user information, including credentials and roles. |
revokePrivilegesFromRole |
Removes the specified privileges from a user-defined role. |
revokeRolesFromRole |
Removes specified inherited roles from a user-defined role. |
rolesInfo |
Returns information for the specified role or roles. |
updateRole |
Updates a user-defined role. |
Replication Commands¶
| Name | Description |
|---|---|
applyOps |
Internal command that applies oplog entries to the current data set. |
hello |
Displays information about this member’s role in the replica set, including whether it is the primary. |
isMaster |
Deprecated. Use hello instead. |
replSetAbortPrimaryCatchUp |
Forces the elected primary to abort sync (catch up) then complete the transition to primary. |
replSetFreeze |
Prevents the current member from seeking election as primary for a period of time. |
replSetGetConfig |
Returns the replica set’s configuration object. |
replSetGetStatus |
Returns a document that reports on the status of the replica set. |
replSetInitiate |
Initializes a new replica set. |
replSetMaintenance |
Enables or disables a maintenance mode, which puts a secondary node in a RECOVERING state. |
replSetReconfig |
Applies a new configuration to an existing replica set. |
replSetResizeOplog |
Dynamically resizes the oplog for a replica set member. Available for WiredTiger storage engine only. |
replSetStepDown |
Forces the current primary to step down and become a secondary, forcing an election. |
replSetSyncFrom |
Explicitly override the default logic for selecting a member to replicate from. |
See also
Replication for more information regarding replication.
Sharding Commands¶
| Name | Description |
|---|---|
addShard |
Adds a shard to a sharded cluster. |
addShardToZone |
Associates a shard with a zone. Supports configuring zones in sharded clusters. |
balancerStart |
Starts a balancer thread. |
balancerStatus |
Returns information on the balancer status. |
balancerStop |
Stops the balancer thread. |
checkShardingIndex |
Internal command that validates index on shard key. |
clearJumboFlag |
Clears the jumbo flag for a chunk. |
cleanupOrphaned |
Removes orphaned data with shard key values outside of the ranges of the chunks owned by a shard. |
enableSharding |
Enables sharding on a specific database. |
flushRouterConfig |
Forces a mongod/mongos instance to update its cached routing metadata. |
getShardMap |
Internal command that reports on the state of a sharded cluster. |
getShardVersion |
Internal command that returns the config server version. |
isdbgrid |
Verifies that a process is a mongos. |
listShards |
Returns a list of configured shards. |
medianKey |
Deprecated internal command. See splitVector. |
moveChunk |
Internal command that migrates chunks between shards. |
movePrimary |
Reassigns the primary shard when removing a shard from a sharded cluster. |
mergeChunks |
Provides the ability to combine chunks on a single shard. |
removeShard |
Starts the process of removing a shard from a sharded cluster. |
removeShardFromZone |
Removes the association between a shard and a zone. Supports configuring zones in sharded clusters. |
setShardVersion |
Internal command to sets the config server version. |
shardCollection |
Enables the sharding functionality for a collection, allowing the collection to be sharded. |
shardingState |
Reports whether the mongod is a member of a sharded cluster. |
split |
Creates a new chunk. |
splitVector |
Internal command that determines split points. |
unsetSharding |
Internal command that affects connections between instances in a MongoDB deployment. |
updateZoneKeyRange |
Adds or removes the association between a range of sharded data and a zone. Supports configuring zones in sharded clusters. |
See also
Sharding for more information about MongoDB’s sharding functionality.
Session Commands¶
| Commands | Descriptions |
|---|---|
abortTransaction |
Abort transaction. New in version 4.0. |
commitTransaction |
Commit transaction. New in version 4.0. |
endSessions |
Expire sessions before the sessions’ timeout period. New in version 3.6. |
killAllSessions |
Kill all sessions. New in version 3.6. |
killAllSessionsByPattern |
Kill all sessions that match the specified pattern New in version 3.6. |
killSessions |
Kill specified sessions. New in version 3.6. |
refreshSessions |
Refresh idle sessions. New in version 3.6. |
startSession |
Starts a new session. New in version 3.6. |
Administration Commands¶
| Name | Description |
|---|---|
cloneCollection |
Copies a collection from a remote host to the current host. |
cloneCollectionAsCapped |
Copies a non-capped collection as a new capped collection. |
collMod |
Add options to a collection or modify a view definition. |
compact |
Defragments a collection and rebuilds the indexes. |
connPoolSync |
Internal command to flush connection pool. |
convertToCapped |
Converts a non-capped collection to a capped collection. |
create |
Creates a collection or a view. |
createIndexes |
Builds one or more indexes for a collection. |
currentOp |
Returns a document that contains information on in-progress operations for the database instance. |
drop |
Removes the specified collection from the database. |
dropDatabase |
Removes the current database. |
dropConnections |
Drops outgoing connections to the specified list of hosts. |
dropIndexes |
Removes indexes from a collection. |
filemd5 |
Returns the md5 hash for files stored using GridFS. |
fsync |
Flushes pending writes to the storage layer and locks the database to allow backups. |
fsyncUnlock |
Unlocks one fsync lock. |
getParameter |
Retrieves configuration options. |
killCursors |
Kills the specified cursors for a collection. |
killOp |
Terminates an operation as specified by the operation ID. |
listCollections |
Returns a list of collections in the current database. |
listDatabases |
Returns a document that lists all databases and returns basic database statistics. |
listIndexes |
Lists all indexes for a collection. |
logRotate |
Rotates the MongoDB logs to prevent a single file from taking too much space. |
reIndex |
Rebuilds all indexes on a collection. |
renameCollection |
Changes the name of an existing collection. |
setFeatureCompatibilityVersion |
Enables or disables features that persist data that are backwards-incompatible. |
setParameter |
Modifies configuration options. |
shutdown |
Shuts down the mongod or mongos process. |
Diagnostic Commands¶
| Name | Description |
|---|---|
availableQueryOptions |
Internal command that reports on the capabilities of the current MongoDB instance. |
buildInfo |
Displays statistics about the MongoDB build. |
collStats |
Reports storage utilization statics for a specified collection. |
connPoolStats |
Reports statistics on the outgoing connections from this MongoDB instance to other MongoDB instances in the deployment. |
connectionStatus |
Reports the authentication state for the current connection. |
cursorInfo |
Removed in MongoDB 3.2. Replaced with metrics.cursor. |
dataSize |
Returns the data size for a range of data. For internal use. |
dbHash |
Returns hash value a database and its collections. |
dbStats |
Reports storage utilization statistics for the specified database. |
diagLogging |
Removed in MongoDB 3.6. To capture, replay, and profile commands sent to your MongoDB deployment, use mongoreplay. |
driverOIDTest |
Internal command that converts an ObjectId to a string to support tests. |
explain |
Returns information on the execution of various operations. |
features |
Reports on features available in the current MongoDB instance. |
getCmdLineOpts |
Returns a document with the run-time arguments to the MongoDB instance and their parsed options. |
getLog |
Returns recent log messages. |
hostInfo |
Returns data that reflects the underlying host system. |
isSelf |
Internal command to support testing. |
listCommands |
Lists all database commands provided by the current mongod instance. |
lockInfo |
Internal command that returns information on locks that are
currently being held or pending. Only available for
mongod instances. |
netstat |
Internal command that reports on intra-deployment connectivity. Only available for mongos instances. |
ping |
Internal command that tests intra-deployment connectivity. |
profile |
Interface for the database profiler. |
serverStatus |
Returns a collection metrics on instance-wide resource utilization and status. |
shardConnPoolStats |
Reports statistics on a mongos’s connection pool for client
operations against shards. |
top |
Returns raw usage statistics for each database in the mongod instance. |
validate |
Internal command that scans for a collection’s data and indexes for correctness. |
whatsmyuri |
Internal command that returns information on the current client. |
Free Monitoring Commands¶
| Name | Description |
setFreeMonitoring |
Enables/disables free monitoring during runtime. |