Mongoose Module Introduction
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.
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 const url = "mongodb://localhost:27017/GFG" // 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.
Contact Us