How to add unique constraint in collection of MongoDB using Node.js?
Mongoose module is one of the most powerful external modules of the node.js.Mongoose is a MongoDB ODM i.e (Object database Modelling) that used to translate the code and its representation from MongoDB to the Node.js server. Mongoose module provides several functions in order to manipulate the documents of the collection of the MongoDB database.
Unique constraint: We can add a unique constraint on the value of the document collection in MongoDB so that all the documents can be distinguished easily. A unique constraint is added during the creation of the structure of the collection in Node.js
Installing Module:
npm install mongoose
Project Structure:
Running the server on Local IP: Data is the directory where the MongoDB server is present.
mongod --dbpath=data --bind_ip 127.0.0.1
Filename- 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
Output: Record already present in the collection(Console).
Please Login to comment...