Back to Home

MongoDB Concepts

A powerful NoSQL document database designed for scalability and flexibility, storing data in JSON-like documents

Document Store
•
Horizontal Scaling
•
High Availability

Documents & Collections

Understanding MongoDB's document-oriented data model with flexible JSON-like documents stored in collections.

BSON FormatSchema DesignEmbedded DocumentsReferences_id Field

CRUD Operations

Master Create, Read, Update, and Delete operations using MongoDB's powerful query language.

insertOne/Manyfind()updateOne/ManydeleteOne/ManyBulk Operations

Querying & Filters

Building complex queries with comparison operators, logical operators, and array operations.

$eq, $gt, $lt$and, $or$in, $nin$regexProjections

Aggregation Framework

Processing data records and returning computed results using aggregation pipelines.

$match$group$sort$project$lookup$unwind

Indexing & Performance

Optimizing query performance with proper indexing strategies and query analysis.

Single Field IndexCompound IndexText Indexexplain()Index Strategies

Mongoose ODM

Using Mongoose for elegant MongoDB object modeling with schemas, validation, and middleware.

SchemasModelsValidationVirtualsHooksPopulation

Mongoose Example

const mongoose = require('mongoose');

// Define Schema
const userSchema = new mongoose.Schema({
  name: { type: String, required: true },
  email: { type: String, unique: true },
  age: Number,
  createdAt: { type: Date, default: Date.now }
});

// Create Model
const User = mongoose.model('User', userSchema);

// CRUD Operations
const createUser = async () => {
  const user = await User.create({ name: 'John', email: 'john@example.com' });
  console.log('Created:', user);
};

const findUsers = async () => {
  const users = await User.find({ age: { $gte: 18 } }).sort({ name: 1 });
  console.log('Users:', users);
};