Database Commands

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.

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.
distinct Displays the distinct values found for a specified key in a collection.
group Groups documents in a collection by the specified key and performs simple aggregation.
mapReduce Performs map-reduce aggregation for large data sets.

Geospatial Commands

Name Description
geoNear Performs a geospatial query that returns the documents closest to a given point.
geoSearch Performs a geospatial query that uses MongoDB’s haystack index functionality.
geoWalk An internal command to support geospatial queries.

Query and Write Operation Commands

Name Description
delete Deletes one or more documents.
eval Runs a JavaScript function on the database server.
findAndModify Returns and modifies a single document.
getLastError Returns the success status of the last operation.
getPrevError Returns status document containing all errors since the last resetError command.
insert Inserts one or more documents.
parallelCollectionScan Lets applications use multiple parallel cursors when reading documents from a collection.
resetError Resets the last error status.
text Performs a text search.
update Updates one or more documents.

Query Plan Cache Commands

Name Description
planCacheClearFilters Clears index filter(s) for a collection.
planCacheClear Removes cached query plan(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
authSchemaUpgrade Supports the upgrade process for user data between version 2.4 and 2.6.
authenticate Starts an authenticated session using a username and password.
copydbgetnonce This is an internal command to generate a one-time password for use with the copydb command.
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.
dropAllRolesFromDatabase Deletes all user-defined roles from a database.
dropRole Deletes the user-defined role.
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.
getoptime Internal command to support replication, returns the optime.
isMaster Displays information about this member’s role in the replica set, including whether it is the master.
replSetFreeze Prevents the current member from seeking election as primary for a period of time.
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.
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.
resync Forces a mongod to re-synchronize from the master. For master-slave replication only.

See also

Replication for more information regarding replication.

Sharding Commands

Name Description
addShard Adds a shard to a sharded cluster.
checkShardingIndex Internal command that validates index on shard key.
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 an update to the cluster metadata cached by a mongos.
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.
mergeChunks Provides the ability to combine chunks on a single shard.
moveChunk Internal command that migrates chunks between shards.
movePrimary Reassigns the primary shard when removing a shard from a sharded cluster.
removeShard Starts the process of removing a shard from a sharded cluster.
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.
splitChunk Internal command to split chunk. Instead use the methods sh.splitFind() and sh.splitAt().
splitVector Internal command that determines split points.
split Creates a new chunk.
unsetSharding Internal command that affects connections between instances in a MongoDB deployment.

See also

Sharding for more information about MongoDB’s sharding functionality.

Instance Administration Commands

Name Description
clean Internal namespace administration command.
cloneCollectionAsCapped Copies a non-capped collection as a new capped collection.
cloneCollection Copies a collection from a remote host to the current host.
clone Copies a database from a remote host to the current host.
closeAllDatabases Internal command that invalidates all cursors and closes open database files.
collMod Add flags to collection to modify the behavior of MongoDB.
compact Defragments a collection and rebuilds the indexes.
connPoolSync Internal command to flush connection pool.
connectionStatus Reports the authentication state for the current connection.
convertToCapped Converts a non-capped collection to a capped collection.
copydb Copies a database from a remote host to the current host.
createIndexes Builds one or more indexes for a collection.
create Creates a collection and sets collection parameters.
dropDatabase Removes the current database.
dropIndexes Removes indexes from a collection.
drop Removes the specified collection from the database.
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.
getParameter Retrieves configuration options.
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.
repairDatabase Repairs any errors and inconsistencies with the data storage.
setParameter Modifies configuration options.
shutdown Shuts down the mongod or mongos process.
touch Loads documents and indexes from data storage to memory.

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.
cursorInfo Deprecated. Reports statistics on active cursors.
dataSize Returns the data size for a range of data. For internal use.
dbHash Internal command to support sharding.
dbStats Reports storage utilization statistics for the specified database.
diagLogging Provides a diagnostic logging. For internal use.
driverOIDTest Internal command that converts an ObjectId to a string to support tests.
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.
indexStats Experimental command that collects and aggregates statistics on all indexes.
isSelf Internal command to support testing.
listCommands Lists all database commands provided by the current mongod instance.
listDatabases Returns a document that lists all databases and returns basic database statistics.
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.

Internal Commands

Name Description
_migrateClone Internal command that supports chunk migration. Do not call directly.
_recvChunkAbort Internal command that supports chunk migrations in sharded clusters. Do not call directly.
_recvChunkCommit Internal command that supports chunk migrations in sharded clusters. Do not call directly.
_recvChunkStart Internal command that facilitates chunk migrations in sharded clusters.. Do not call directly.
_recvChunkStatus Internal command that returns data to support chunk migrations in sharded clusters. Do not call directly.
_replSetFresh Internal command that supports replica set election operations.
_transferMods Internal command that supports chunk migrations. Do not call directly.
handshake Internal command.
mapreduce.shardedfinish Internal command that supports map-reduce in sharded cluster environments.
replSetElect Internal command that supports replica set functionality.
replSetGetRBID Internal command that supports replica set operations.
replSetHeartbeat Internal command that supports replica set operations.
writeBacksQueued Internal command that supports chunk migrations in sharded clusters.
writebacklisten Internal command that supports chunk migrations in sharded clusters.

Testing Commands

Name Description
_hashBSONElement Internal command. Computes the MD5 hash of a BSON element.
_journalLatencyTest Tests the time required to write and perform a file system sync for a file in the journal directory.
captrunc Internal command. Truncates capped collections.
configureFailPoint Internal command for testing. Configures failure points.
emptycapped Internal command. Removes all documents from a capped collection.
forceerror Internal command for testing. Forces a user assertion exception.
godinsert Internal command for testing.
replSetTest Internal command for testing replica set functionality.
skewClockCommand Internal command. Do not call this command directly.
sleep Internal command for testing. Forces MongoDB to block all operations.
testDistLockWithSkew Internal command. Do not call this directly.
testDistLockWithSyncCluster Internal command. Do not call this directly.

Auditing Commands

Name Description
logApplicationMessage Posts a custom message to the audit log.