¿Cuáles son las ventajas de usar el módulo Mongoose?

El módulo Mongoose es uno de los módulos externos más potentes de NodeJS. Mongoose es un MongoDB ODM, es decir (modelado de base de datos de objetos) que solía traducir el código y su representación de MongoDB al servidor Node.js.

Ventajas del módulo Mongoose:

  1. La validación de la colección de la base de datos MongoDB se puede realizar fácilmente.
  2. La estructura predefinida se puede implementar en la colección.
  3. Las restricciones se pueden aplicar a documentos de colecciones utilizando Mongoose.
  4. El módulo Mongoose se construyó sobre el controlador MongoDB y proporciona una abstracción fácil de la consulta y define una consulta.

Muchos desarrolladores que son habituales de usar SQL se sienten incómodos mientras trabajan en MongoDB porque las bases de datos Nosql y la estructura flexible aquí Mongoose juega un papel importante y hace que el esquema de colección sea similar a las bases de datos SQL.

El módulo Mongoose proporciona varias funciones para manipular los documentos de la colección de la base de datos MongoDB.

Implementación para estructura definida y validación de colección: El módulo de mangosta impuso una estructura definida en la colección y hace que la colección sea rígida.

Módulo de instalación:

npm install mongoose

Estructura del proyecto:

Ejecutando el servidor en IP local: los datos son el directorio donde está presente el servidor MongoDB.

mongod --dbpath=data --bind_ip 127.0.0.1

Nombre de archivo- 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)
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Implementación de la restricción en la colección de MongoDB:

Nombre de archivo- 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,
    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);
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Salida: [El primer registro ya está presente en la colección]

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *