Каковы преимущества использования модуля Mongoose?

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

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

Преимущества модуля Mongoose:

  1. Проверка коллекции базы данных MongoDB может быть выполнена легко.
  2. Предопределенная структура может быть реализована в коллекции.
  3. Ограничения можно применять к документам коллекций с помощью Mongoose.
  4. Модуль Mongoose построен на основе драйвера MongoDB и обеспечивает простую абстракцию запроса и определение запроса.

Многие разработчики, которые привыкли использовать SQL, чувствуют себя некомфортно при работе с MongoDB, потому что базы данных Nosql и гибкая структура здесь играют важную роль и делают схему коллекции похожей на базы данных SQL.

Модуль Mongoose предоставляет несколько функций для управления документами коллекции базы данных MongoDB.

Реализация для определенной структуры и проверки коллекции: модуль mongoose налагает определенную структуру на коллекцию и делает ее жесткой.

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

 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

Выход:

Реализация ограничения на сбор MongoDB:

Имя файла- 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,
unique: true ,
require: true
}
,
marks: {
type: Number,
default : 0
}
})
// Creating collection
const collections = mongoose.model( "GFG2" , collection_structure)
// Inserting one document
collections.create({
name: "aayush" ,
marks: 12,
}).then((ans) => {
console.log( "Document inserted" )
// Inserting invalid document
}). catch ((err) => {
console.log(err.message);
})

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

 узел index.js

Вывод: [Первая запись уже присутствует в коллекции]