MongoDB Shell Commands Cheat Sheet.
This is a Cheat Sheet for interacting with the Mongo Shell ( mongo on your command line). This is for MongoDB Community Edition.
Preface:
Mongo Manual can help you with getting started using the Shell.
FAQ for MongoDB Fundamentals and other FAQs can be found in the side-bar after visiting that link.
The Mongo Shell reference can be found here.
Anything that looks like db.<something>()
will be found in Database Methods.
Anything that looks like db.collection.<something>
will be found in Collection Methods.
Use db.help()
to get a list of all database commands. ( Note that it's pretty long.)
Anything in < >
should be replaced with your unique values. IE: You want to have a database called Cars
so you would use the command use <db>
but you would type it as use Cars
.
Databases:
This table will list the commands most commonly used when working with the database as a whole.
Type | Command | Description |
---|---|---|
Create/Connect | use <db> |
Connects to a specific database. If none exists then one will automatically be created with that name. Doc |
List All | show dbs |
Lists all Databases. DBs with no data are not shown. Doc |
List Current | db.getName() |
Lists the name of the currently selected databasse. Doc |
Return | db |
Returns the currently seleceted Database. Allows you to use methods and chain commands. IE db.createCollection('test') . Doc |
Drop | db.dropDatabase() |
Drops the currently selected Database. Doc |
Stats | db.stats() |
Lists the stats about the current Database. Doc |
Collections:
This Table lists the commands most commonly used when working with collections as a whole.
Type | Command | Description |
---|---|---|
Create | db.createCollection('<collection>) |
Creates a new empty collection in the database. Doc |
List | db.getCollectionNames() |
Lists all collections for a current Database. Doc |
Return | db.getCollection('<collection>') |
Returns a collection. Can chain methods onto it. IE db.getCollection.('authors').find({}) . Doc |
Return/Create | db.<collection> |
Similar to db.getCollection() , but if the collection doesn't exist, then the collection will be return, but not added unless data is also added to that collection at the same time. IE: db.items does not add a collection to the database, but db.items.insertOne({name: 'Mike'}) would, because data is also being added to the collection. Use db.createCollection() to add an empty collection. Doc |
Drop | db.<collection>.drop() |
Drops the collection from the database. Doc |
Rename | db.<cllectn>.renameCollection('collection') |
Renames a collection. Doc |
Data
This section is broken down into 5 sub-sections. The first 4 match the CRUD Verbs of Create, Read, Update, Delete, and the last one is a list of Combos like findAndUpdate
. Check here for the Mongo Docs on Crud
Couple notes here:
- All of these commands start with
db.<collection>
where<collection>
is the name of the collection you want to call these methods on. Any exceptions will be noted in the description.** {query}
Is referring to queries like{<field>: '<value>', <field>:'<value>', etc)
. IE:{ book: 'Golden River Doth Flows', author: 'I.P. Freely', etc}
. They are field-value pairs that are used to make documents, and also used during searches, aka queries.
Create
Type | Command | Description |
---|---|---|
Create One | .insertOne({<doc>}) |
Inserts a document into the collection. IE: db.cars.insertOne({make:"ford"}) . Doc |
Create One/Many | .insert([{<doc>},{<doc>},{<doc>}] ) |
Inserts One or more documents into the collection. If an array is passed in it will make a record of each document in the array. Otherwise it will accept a single document. Doc |
Read
Most of these commands allow methods to be chained onto them.
Type | Command | Description |
---|---|---|
Count | .count() |
Returns the number of items in the collection. Doc |
Return All | .find({}) |
Returns an array of all items in a collection. .find() Must be passed {} in order to return all documents. Doc |
Return All Filtered | .find({query}) |
Returns an array of items in a collection that match the query passed into .find() . See Query and Project Operators for extra info on querys. Doc |
Return One Filtered | .findOne({query}) |
Returns a document (not an array) of the first item found, filtering based off what was passed into .findOne() . Useful when searching by unique fields like _id , IE db.cars.findOne({_id: 1}) . Doc |
Update
Type | Command | Description |
---|---|---|
Update/Replace | .update({query}, { $set: {query} }, options) |
The first argument is used as the query to find the document. The second argument specifies which field which to update. Exclude $set: and the entire document will be Replaced. Common options: upsert: <boolean> to keep it unique, and multi: <boolean> will update multiple documents if set to true. Docs and Field Operator Docs |
Update One/Many | .updateOne() and .updateMany() |
Basically the same as the above function, except the multi: <boolean> option is basically defaulted to false and true , and isnt' an allowed option that can be passed in. One Doc, Many Doc |
Delete
Type | Command | Description |
---|---|---|
Delete One | .deleteOne({query}) |
Deletes the first document that matches the query. Recommend to search by _id or another unique field. Doc |
Delete Many/All | .deleteMany({query}) |
Deletes all records that match the query. Leave the query blank to delete all documents. Doc |
Combos
These are some combo commands that really just do the same thing as their base commands, but have a couple extra options.
All of these can leave their {query}
blank and it will find the first document and execute it's verb on that item.
Command | Desctiption |
---|---|
.findOneAndDelete({query}) |
Finds the first document that matches the query and deletes it. [Doc] https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndDelete/#db.collection.findOneAndDelete |
.findOneAndUpdate({query}, {<update>}, {<options>}) |
Finds the first document that matches the query in the first argument, and updates it using the second arguments. Has optional options as well. Doc |
.findOneAndReplace({query}, {<replacement>}, {<options>}) |
Finds and replaces the document that matches the query. <replacement> cannot use update operators. Doc |
Thanks, it's really useful!