MongoDB cheat sheet

Here is a cheat sheet for mongodb

Basic Idea

Database: A container of collection.
Collection: Grouping of documents insida of a database. Similar tables in SQL.
Document: A record inside of a collection. Similar to row in SQL.
Field: A ke…


This content originally appeared on DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» and was authored by Arafat

Here is a cheat sheet for mongodb

Basic Idea

Database: A container of collection.
Collection: Grouping of documents insida of a database. Similar tables in SQL.
Document: A record inside of a collection. Similar to row in SQL.
Field: A key value pair within a document. Similar to column in SQL.

Basic commands

mongosh: A JavaScript shell for interacting with MongoDB instances. It provides a command-line interface (CLI) that allows you to connect to a MongoDB server.
show dbs: Shows all databases in the current MongoDB instance.
use <dbname>: Switch database provided by dbname.
db: Shows current database name.
show collections: Shows all collections.
db.dropDatabase(): Deletes the current database.
exit: Exits the mongosh session.

Create

insertOne: Creates a document within the specified collection.

db.users.insertOne({ name: β€œArafat” })
// Create a document with the name of Arafat into the users collection

insertMany: Creates multiple documents within the specified collection.

db.users.insertMany([{ name: β€œJohn” }, { age: β€œRoy” }])
// Create two documents with the name John and Roy into the users collection

Read

find: Get all documents.

db.users.find()

find(<filterObject>): Find all documents based on the filter object

db.users.find({ name: β€œArafat” })
// Get all users with the name Arafat
db.users.find({ β€œaddress.street”: β€œ434 Lund Sweden” })
// Get all users whose adress field has a street field with the value 434 Lund Sweden

find(<filterObject>, <selectObject>): Find all documents that match the filter object but only return the field specified in the select object

db.users.find({ name: β€œArafat” }, { name: 1, hobby: 1 })
// Get all users with the name Arafat but only return their name, hobby, and _id
db.users.find({}, { hobby: 0 })
// Get all users and return all fields except for hobby

findOne: Returns the first document that matches the filter object.

db.users.findOne({ name: β€œArafat” })
// Get the first user with the name Arafat

countDocuments: Returns the count of the documents that match the filter object.

db.users.countDocuments({ name: β€œArafat” })
// Get the number of users with the name Arafat

Update

updateOne: Updates the first document.

db.users.updateOne({ name: "Arafat" }, { $set: { name: "Theo" } })
// Update the first user with a name of Arafat to the name of Theo

updateMany: Updates multiple docments.

db.users.updateMany({ age: 16 }, { $inc: { age: 6 } })
// Update all users with an age of 16 by adding 6 to their age

replaceOne: Replace the first document. This
will completely overwrite the entire object and not just
update individual fields.

db.users.replaceOne({ age: 12 }, { age: 13 })
// Replace the first user with an age of 12 with an object that has the age of 13 as its only field

Delete

deleteOne: Delete a single document from a collection.

db.users.deleteOne({ name: "Arafat" })
// Delete the first user with an name of Arafat

deleteMany: Delete multiple documents from a collection.

db.users.deleteMany({ age: 26 })
// Delete all users with an age of 26

Complex Filter Object

$eq: equals.

db.users.find({ name: { $eq: β€œArafat” } })
// Get all the users with the name Arafat

$ne: not equal to.

db.users.find({ name: { $ne: β€œArafat” } })
// Get all users with a name other than Kyle

$gt / $gte: Greater than and greater than or eqal.

db.users.find({ age: { $gt: 26 } })
// Get all users with an age greater than 26
db.users.find({ age: { $gte: 34 } })
// Get all users with an age greater than or equal to 34

$lt / $lte: Less than and less than or eqal.

db.users.find({ age: { $lt: 26 } })
// Get all users with an age less than 26
db.users.find({ age: { $lte: 34 } })
// Get all users with an age less than or equal to 34

$in: Check if a value is one of many values.

db.users.find({ name: { $in: [β€œRoy”, β€œLeo”] } })
// Get all users with a name of Roy or Leo

$nin: Check if a value is none of many values.

db.users.find({ name: { $nin: [β€œRoy”, β€œLeo”] } })
// Get all users that do not have the name Roy or Leo

$and: Returns true if all expressions are true

db.users.find({ $and: [{ age: 6 }, { name: β€œArafat” }] })
// Get all users that have an age of 6 and the name Arafat
db.users.find({ age: 6, name: β€œArafat” })
// Alternative way to do same thing

$or: returns true if any expression is true

db.users.find({ $or: [{ age: 6 }, { name: β€œArafat” }] })
// Get all users that have an age of 6 or the name Arafat

$not: Negates the expression

db.users.find({ name: { $not: { $eq: β€œArafat” } } })
Get all users with a name other than Arafat

$exists: Matches documents that have the specified field.

db.users.find({ name: { $exists: true } })
// Returns all users that have a name field

$expr: performs an expression evaluation in the query.

db.users.find({ $expr: { $gt: [β€œ$balance”, β€œ$debt”] } })
// Get all users that have a balance that is greater than their debt

Complex Update Object

$set: Updates only the fields passed to $set.

db.users.updateOne({ age: 12 }, { $set: { name: β€œRoy” } })
// Update the name of the first user with the age of 12 to the value Roy

$inc: Increments the value of a field by a specified amount.

db.users.updateOne({ debt: 200 }, { $inc: { debt: 100 } })
// Add 100 to the debt of the first user with the debt of 200
db.users.updateOne({ debt: 200 }, { $inc: { debt: -100 } })
// Remove 100 from the debt of the first user with the debt of 200

$rename: Rename a field

db.users.updateMany({}, { $rename: { loss: β€œProfit” } })
// Rename the field loss to profit for all users

$unset: Remove a field.

db.users.updateOne({ age: 26 }, { $unset: { age: "" } })
// Remove the age field from the first user with an age of 26

$push: Adds new elements to an array

db.users.updateMany({}, { $push: { enemy: β€œRia” } })
// Add Ria to the enemy array for all users

$pull: Rmoves all array elements that match a specified condition.

db.users.updateMany({}, { $pull: { enemy: β€œArafat” } })
// Remove Mike from the friends array for all users

Modifiers for read

sort: Sort the results of a find by the given fields.

db.users.find().sort({ debt: 1, balance: -1 })
// Returns all users sorted by name in alphabetical order and then if any duplicated names exits, sorts by age in reverse order.

limit: Returns a specified number of documents.

db.users.find().limit(5)
// Returns the first 5 users

skip: Skip a specified number of documents from the start.

db.users.find().skip(7)
// Skip the first 7 users when returning results. Freat for pagination when combined with limit.


This content originally appeared on DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» and was authored by Arafat


Print Share Comment Cite Upload Translate Updates
APA

Arafat | Sciencx (2022-12-24T21:04:13+00:00) MongoDB cheat sheet. Retrieved from https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/

MLA
" » MongoDB cheat sheet." Arafat | Sciencx - Saturday December 24, 2022, https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/
HARVARD
Arafat | Sciencx Saturday December 24, 2022 » MongoDB cheat sheet., viewed ,<https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/>
VANCOUVER
Arafat | Sciencx - » MongoDB cheat sheet. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/
CHICAGO
" » MongoDB cheat sheet." Arafat | Sciencx - Accessed . https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/
IEEE
" » MongoDB cheat sheet." Arafat | Sciencx [Online]. Available: https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/. [Accessed: ]
rf:citation
» MongoDB cheat sheet | Arafat | Sciencx | https://www.scien.cx/2022/12/24/mongodb-cheat-sheet/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.