Home / Blog / An Exclusive guide to MongoDB 2024
An Exclusive guide to MongoDB 2024
Feb 16, 2024.5 min read

This guide offers clear explanations and expert insights to optimize their database performance. Stay ahead with cutting-edge techniques and real-world examples, tailored for the modern MongoDB landscape.
Intallation
Connect through Mongo Shell
//Connect to MongoDB Atlas
mongosh "{MONGODB URI}" --apiVersion 1 --username {USERNAME} --password {PASSWORD}
//Connect to local MongoDb
mongosh mongodb://localhost:27017Create Database
use {DATABASE NAME}Show Databases
show dbsCreate Collection
db.createCollection(COLLECTION NAME)Insert Document
//Insert single document
db.collection.insertOne({
name : 'Dummy Name',
email: 'dummy@gmail.com'
})
// Insert multiple documents
db.collection.insertMany([
{
name : 'Dummy Name 1',
email: 'dummy1@gmail.com',
order: 2,
age: 22,
},
{
name : 'Dummy Name 2',
email: 'dummy2@gmail.com',
order: 1,
age: 18
}
])Find Document
//Find single document
db.collection.findOne()
//Find multiple documents
db.collection.find()Update Document
//Update single document
db.collection.updateOne({ email: 'dummy1@gmail.com' }, {name: 'Dummy Updated Name 1'})
//Update multiple documents
db.collection.updateMany({}, {name: 'Dummy Updated Name'}) Delete Document
//Delete single document
db.collection.deleteOne({ email: 'dummy1@gmail.com' })
//Delete multiple documents
db.collection.deleteMany({})Filter Documents
//finding documents that has a value equals to the email
db.collection.find({email: 'dummy1@gmail.com'})Sort Documents
// sorting the documents based on age
db.collection.find({}).sort({ age: 1 }) //accending order
db.collection.find({}).sort({ age: -1 }) //decending orderLimit and skip Documents
//This will skip the first 2 documents and return all other doucments
db.collection.find({}).skip(2)
//This will limit the result to 1
db.collection.find({})..limit(1)
//This will skip the first 2 documents and return only 1 document after skipping
db.collection.find({}).skip(2).limit(1)Count Documents
//count all the documents
db.collection.countDocuments({})
//count all the document having age 18
db.collection.countDocuments({age:18})Comparison Operators
// $lt -- '<'
// $gt -- '>'
// $lte -- '<='
// $gte -- '>='
// $eq -- '='
db.collection.find({age: {$eq: 18}})
db.collection.find({age: {$gt: 20}})
db.collection.find({age: {$lt: 25}})
db.collection.find({age: {$lte: 20}})
db.collection.find({age: {$gte: 18}})Logical Operators
// $and -- 'And'
// $or -- 'Or'
// $not -- 'Not'
// $nor -- 'Nor'
// $and operator takes an Array
// All the conditions must match (i.e. age 18 and order 1)
db.collection.find({
$and: [
{
age: 18
},
{
order: 1
}
]
})
// $or operator takes an Array
// Any of the conditions should match (i.e. age 18 or order 1)
db.collection.find({
$or: [
{
age: 18
},
{
order: 1
}
]
})
// $nor operator takes an Array
// All the conditions should fail (i.e. age 18 and order 1)
db.collection.find({
$nor: [
{
age: 18
},
{
order: 1
}
]
})
// $not operator use to give some nagitive conditions
db.collection.find({
age: {
$not: {
$eq: 18
}
}
})
Query Operators
// $in operators takes and array
// Resulted documents should have age those are presents in the array
db.collection.find({ age: { $in: [18,20] }})
// $nin operators takes and array
// Resulted documents should have age those are not presents in the array
db.collection.find({ age: { $nin: [18,20] }})Element Operators
// $exist -- checks a field exits or not
db.collection.find({ age: { $exist: true }})
// $type -- checks a field's data type
db.collection.find({ age: { $type: 'number' }})Evaluation Operators
// $regex used to match regular expressions
db.collection.find({ name: { $regex: /dummy/, $options: 'i' }})
// $mod used to match the reminder after division
// after deviding age by 2 reminder should be 1
db.collection.find({ age: { $mod: [2, 1] }}) Indexing and Searching
// Indexes are helpful to query inside mongodb efficiently
// Create Index
db.collection.createIndex({ name: "text", email: "text" })
// $text and $search to search documents using those indexes
db.collection.find({
$text : {
$search: 'dummy'
}
})
