Open PortfolioOpen Portfolio.
โ† Back to Blog

How to Use MongoDB with Mongoose

June 7, 2026at 2:00 PM UTCBy Pocket Portfolio TeamTechnology
How to Use MongoDB with Mongoose
#mongodb#mongoose#database#nodejs

Problem

Working with MongoDB in a Node.js environment can be cumbersome without an abstraction layer. Direct interaction with MongoDB's native driver often leads to repetitive code and increased complexity in data handling. Mongoose provides a straightforward solution by offering a schema-based modeling approach, making data interaction simpler and more intuitive.

Solution with Code

To start using MongoDB with Mongoose, follow these steps:

  1. Install Mongoose: Ensure you have Node.js installed, then add Mongoose to your project:

    npm install mongoose
    
  2. Connect to MongoDB: Use Mongoose to connect to your MongoDB database:

    const mongoose = require('mongoose');
    
    mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
      .then(() => console.log('MongoDB connected'))
      .catch(err => console.error('Connection error', err));
    
  3. Define a Schema: Create a Mongoose schema to define the structure of your documents:

    const Schema = mongoose.Schema;
    
    const userSchema = new Schema({
      name: String,
      email: String,
      age: Number
    });
    
  4. Create a Model: Convert the schema into a model:

    const User = mongoose.model('User', userSchema);
    
  5. Perform CRUD Operations: Use the model to interact with the database:

    • Create:

      const newUser = new User({ name: 'John Doe', email: 'john@example.com', age: 30 });
      
      newUser.save()
        .then(user => console.log('User saved:', user))
        .catch(err => console.error('Save error', err));
      
    • Read:

      User.find({ age: { $gte: 18 } })
        .then(users => console.log('Users found:', users))
        .catch(err => console.error('Find error', err));
      
    • Update:

      User.updateOne({ name: 'John Doe' }, { age: 31 })
        .then(result => console.log('User updated:', result))
        .catch(err => console.error('Update error', err));
      
    • Delete:

      User.deleteOne({ name: 'John Doe' })
        .then(result => console.log('User deleted:', result))
        .catch(err => console.error('Delete error', err));
      

Key Concepts

  • Schema: Mongoose schemas define the structure of documents within a collection. They map directly to a MongoDB collection.
  • Models: Models are constructors compiled from schemas. They represent documents you can interact with in MongoDB.
  • CRUD Operations: Mongoose models allow you to perform Create, Read, Update, and Delete operations seamlessly.

Using Mongoose with MongoDB simplifies database operations by providing a clear and structured way to define data models and interact with the database. This can significantly enhance readability and maintainability in your Node.js applications.

How to Use MongoDB with Mongoose | Open Portfolio Blog | Open Portfolio