Skip to content
Related Articles
Open in App
Not now

Related Articles

Mongoose Module Introduction

Improve Article
Save Article
  • Difficulty Level : Hard
  • Last Updated : 22 Feb, 2021
Improve Article
Save Article

MongoDB, the most popular NoSQL database, is an open-source document-oriented database. The term ‘NoSQL’ means ‘non-relational’. MongoDB provides us flexible database schema that has its own advantages and disadvantages. Every record in MongoDB collections does not depend upon the other records present in a particular collection on the basis of structure. We can add any new key in any record according to the need. There is no proper structure for the MongoDB collections and constraints on the collections. Let’s have a look at an example.


Database: GFG
Collection: GFG1

In the above example, we can easily see there is no proper schema for a collection in MongoDB. We can use any numbers of different keys and value in the collection. This phenomenon might create some troubles. So let’s see how can we overcome this problem.

Mongoose.module is one of the most powerful external module of the node.js. Mongoose is a MongoDB ODM (Object database Modelling) that is used to translate the code and its representation from MongoDB to the Node.js server.

Advantages of Mongoose module:

  1. Collection validation of the MongoDB database can be done easily.
  2. Predefined Structure can be implemented on the collection.
  3. Constraints can be applied to documents of collections using Mongoose.

Mongoose module provides several functions in order to manipulate the documents of the collection of the MongoDB database (Refer this Link)

Implementation for definite structure for Collection:

Installing Module:

npm install mongoose

Project Structure:

Running the server on Local IP: Data is the directory where MongoDB server is present.

mongod --dbpath=data --bind_ip



// Importing mongoose module
const mongoose = require("mongoose")
// Database Address
// Connecting to database
mongoose.connect(url).then((ans) => {
}).catch((err) => {
    console.log("Error in the Connection")
// Calling Schema class
const Schema = mongoose.Schema;
// Creating Structure of the collection
const collection_structure = new Schema({
    name: {
        type: String,
        require: true
    marks: {
        type: Number,
        default: 0
// Creating collection
const collections = mongoose.model(
        "GFG2", collection_structure)
// Inserting one document
    name: "aayush"
}).then((ans) => {
    console.log("Document inserted")
    // Inserting invalid document
        name: "saini",
        marks: "#234",
        phone: 981
    }).then((ans) => {
    }).catch((err) => {
        // Printing the documents
        collections.find().then((ans) => {
        // Printing the Error Message
}).catch((err) => {
    // Printing Error Message

Run index.js file using below command:

node index.js

Console output:

Mongoose module imposed a definite structure on the collection and makes the collection rigid.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!