Как добавить уникальное ограничение в коллекцию MongoDB с помощью Node.js?

Опубликовано: 26 Июля, 2021

Модуль Mongoose - один из самых мощных внешних модулей node.js.Mongoose - это ODM MongoDB, то есть (моделирование объектной базы данных), который используется для перевода кода и его представления из MongoDB на сервер Node.js. Модуль Mongoose предоставляет несколько функций для управления документами коллекции базы данных MongoDB.

Уникальное ограничение: мы можем добавить уникальное ограничение на значение коллекции документов в MongoDB, чтобы все документы можно было легко различить. Уникальное ограничение добавляется при создании структуры коллекции в Node.js

Установка модуля:

 npm установить мангуста

Структура проекта:

Запуск сервера на локальном IP: данные - это каталог, в котором находится сервер MongoDB.

 mongod --dbpath = данные --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);
});

Запустите файл index.js, используя команду ниже:

 узел index.js

Вывод: Запись уже есть в коллекции (Консоль).