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:
- La validación de la colección de la base de datos MongoDB se puede realizar fácilmente.
- La estructura predefinida se puede implementar en la colección.
- Las restricciones se pueden aplicar a documentos de colecciones utilizando Mongoose.
- 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