MongoDB and Mongoose
MongoDB is a document-oriented database. Mongoose provides schemas, models, validation, middleware, and convenient querying on top of MongoDB.
A schema describes document structure and a model provides an interface for interacting with a MongoDB collection.
Mongoose Schema and Query
import mongoose from 'mongoose';
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true }
});
const User = mongoose.model('User', userSchema);
const users = await User.find({ name: /sur/i }).lean();
console.log(users);💡 The schema defines user fields and the model queries matching documents.
lean() returns plain objects instead of full Mongoose documents.Key Takeaways
- Mongoose schemas define application-level document rules.
- Indexes should support actual query patterns.
- Use
lean()when document methods and change tracking are unnecessary.
Knowledge Check
What does a Mongoose model primarily provide?