Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 24, 2022 09:04 pm GMT

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 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 Arafatdb.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 _iddb.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 26db.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 26db.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 Arafatdb.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 200db.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.

Original Link: https://dev.to/arafat4693/mongodb-cheat-sheet-2f9o

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To