MongoDB Guide
Database & Collection Creation, Document Operations & Queries
This lesson covers step-by-step instructions on how to create a MongoDB database, collections, and perform CRUD operations using mongosh.
1. Install and Start MongoDB
Ensure MongoDB is installed and running:
Then, start the MongoDB shell at comand terminal or VSCode terminal via extension:
2. Create a Database
MongoDB does not require explicit database creation. It automatically creates one when you insert a document.
Switch or Create a Database
✔️ If myDatabase
does not exist, MongoDB will create it when you insert data.
3. Create a Collection
MongoDB collections are like tables in SQL. You can create them explicitly or let MongoDB create them automatically.
Explicit Collection Creation
✔️ This creates an empty users
collection.
Implicit Collection Creation
MongoDB automatically creates a collection when inserting a document:
4. Insert Documents
MongoDB stores data as documents in BSON format (similar to JSON).
Insert a Single Document
Insert Multiple Documents
✔️ The _id
field is automatically generated for each document.
5. Find (Retrieve) Documents
Find All Documents
Pretty Print Results
Find One Document
6. Update Documents
Update a Single Document
Update Multiple Documents
7. Delete Documents
Delete One Document
Delete Multiple Documents
8. Sorting & Limiting Results
Sort in Ascending Order (1
)
1
)Sort in Descending Order (-1
)
-1
)Limit the Number of Results
9. Comparison Operators
MongoDB has SQL-like comparison operators:
$eq
Equal to
{ age: { $eq: 30 } }
$ne
Not equal to
{ age: { $ne: 25 } }
$gt
Greater than
{ age: { $gt: 30 } }
$lt
Less than
{ age: { $lt: 30 } }
$gte
Greater than or equal to
{ age: { $gte: 25 } }
$lte
Less than or equal to
{ age: { $lte: 40 } }
✔️ Example: Find users older than 30
10. Logical Operators
MongoDB also supports logical operators:
$and
Match all conditions
{ $and: [{ age: { $gt: 25 } }, { city: "San Diego" }] }
$or
Match any condition
{ $or: [{ age: 25 }, { city: "New York" }] }
$not
Negate a condition
{ age: { $not: { $gt: 30 } } }
✔️ Example: Find users older than 25 AND in "San Diego":
11. Indexes for Performance
Indexes speed up queries by reducing the need for full collection scans.
Create an Index on a Field
View Existing Indexes
Delete an Index
12. Drop a Collection or Database
Drop a "users" Collection
Drop an Entire Database
Example Document & Data Types
String
"name": "Alice"
Number
"age": 30
Boolean
"isVerified": true
Array
"hobbies": ["reading", "traveling"]
Object
"address": { "city": "New York", "zip": "10001" }
Date
"createdAt": ISODate("2024-01-25T10:00:00Z")
ObjectId
"_id": ObjectId("65af67cdef12345")
Conclusion
This guide provides an overview of how to: ✅ Create databases and collections ✅ Insert, update, delete, and query documents ✅ Use sorting, limiting, comparison, and logical operators ✅ Optimize queries with indexes
🚀 Now, you can start working efficiently with MongoDB using mongosh!
Last updated