Mongoose Module Introduction

22 Feb, 2021
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:
Collection validation of the MongoDB database can be done easily.Predefined Structure can be implemented on the collection.Constraints can be applied to documents of collections using Mongoose.
Collection validation of the MongoDB database can be done easily.
Predefined Structure can be implemented on the collection.
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 moduleconst mongoose = require("mongoose")  // Database Addressconst url = "mongodb://localhost:27017/GFG"  // Connecting to databasemongoose.connect(url).then((ans) => {    console.log("ConnectedSuccessful")}).catch((err) => {    console.log("Error in the Connection")})    // Calling Schema classconst Schema = mongoose.Schema;  // Creating Structure of the collectionconst collection_structure = new Schema({    name: {        type: String,        require: true    },    marks: {        type: Number,        default: 0    }})  // Creating collectionconst collections = mongoose.model(        "GFG2", collection_structure)  // Inserting one documentcollections.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.
Mongoose
Technical Scripter 2020
MongoDB
Node.js
Technical Scripter
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Spring Boot JpaRepository with Example
Mongoose Populate() Method
MongoDB - db.collection.Find() Method
Aggregation in MongoDB
MongoDB - Check the existence of the fields in the specified collection
How to update Node.js and NPM to next version ?
Installation of Node.js on Linux
Node.js fs.readFileSync() Method
Node.js fs.writeFile() Method
How to install the previous version of node.js and npm ?