Open In App

Mongoose Module Introduction

Last Updated : 22 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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.

MongoDB:

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 127.0.0.1

Index.js

Javascript




// Importing mongoose module
const mongoose = require("mongoose")
  
// Database Address
  
// Connecting to database
mongoose.connect(url).then((ans) => {
    console.log("ConnectedSuccessful")
}).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
collections.create({
    name: "aayush"
}).then((ans) => {
    console.log("Document inserted")
     
    // Inserting invalid document
    collections.create({
        name: "saini",
        marks: "#234",
        phone: 981
    }).then((ans) => {
        console.log(ans)
    }).catch((err) => {
          
        // Printing the documents
        collections.find().then((ans) => {
                console.log(ans)
            })
          
        // Printing the Error Message
        console.log(err.message)
    })
}).catch((err) => {
  
    // Printing Error Message
    console.log(err.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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads