Mongoose Schema and Model

Mongoose is an ODM for MongoDB in Node.js.

ODM means Object Document Mapper.

It helps define document structure and interact with MongoDB using models.

Schema

A schema defines the shape of documents.

import mongoose from 'mongoose'

const userSchema = new mongoose.Schema(
  {
    name: {
      type: String,
      required: true,
    },
    email: {
      type: String,
      required: true,
      unique: true,
    },
  },
  { timestamps: true },
)

Model

A model gives you methods to query and write documents.

const User = mongoose.model('User', userSchema)

await User.create({
  name: 'Asha',
  email: 'asha@example.com',
})

Why Mongoose is useful

Mongoose provides:

Common mistake

unique: true is not normal validation. It creates a unique index.

You still need to handle duplicate key errors properly.

Interview answer

Mongoose is an ODM that provides schemas and models for MongoDB in Node.js. A schema defines document structure, validation, and options. A model is created from a schema and is used to create, query, update, and delete documents.