Mongoose es una biblioteca de modelado de datos de objetos (ODM) para MongoDB. Define un esquema fuertemente tipado, con valores predeterminados y validaciones de esquema que luego se asignan a un documento MongoDB.
Para crear una colección con Mongoose, debe crear dos cosas necesarias:
- Esquema: Es una estructura de documento que contiene la propiedad con sus tipos (valor predeterminado, validaciones, etc. cuando se requiera) como un par clave-valor.
- Modelo: es una clase creada con la ayuda de un esquema definido y un documento MongoDB es una instancia del modelo. Por lo tanto, actúa como una interfaz para la base de datos MongoDB para crear, leer, actualizar y eliminar un documento.
Instalar mangosta:
Paso 1: puede visitar el enlace Instalar mongoose para instalar el módulo mongoose. Puede instalar este paquete usando este comando.
npm install mongoose
Paso 2: ahora puede importar el módulo mongoose en su archivo usando:
const mongoose = require('mongoose');
Implementación:
Paso 1: cree una carpeta y agregue los archivos model.js y main.js en ella.
- model.js: Contiene esquemas y modelos para todas las colecciones que desea crear, y luego estamos exportando todos los modelos creados para que puedan ser importados al archivo en el que crearemos nuestras colecciones.
- main.js: Es el archivo del servidor principal aquí hemos insertado datos en una colección.
Paso 2: escriba el siguiente código en el archivo model.js .
model.js
// Requiring module const mongoose = require('mongoose'); // Course Modal Schema const courseSchema = new mongoose.Schema({ _id: Number, name: String, category: String }); // Student Modal Schema const studentSchema = new mongoose.Schema({ name: String, enroll: Number, courseId: Number }); // Teacher Modal Schema const teacherSchema = new mongoose.Schema({ name: String, teacher_id: Number, courseId: Number }) // Creating model objects const Course = mongoose.model('course', courseSchema); const Student = mongoose.model('student', studentSchema); const Teacher = mongoose.model('teacher', teacherSchema); // Exporting our model objects module.exports = { Student, Course, Teacher }
Paso 3: La conexión a la base de datos se puede establecer fácilmente usando mongoose como:
mongoose.connect('mongodb://localhost:27017/GFG', { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false });
Si la base de datos GFG ya está presente, se establecerá la conexión; de lo contrario, se creará la primera base de datos y se establecerá una conexión. Aquí inicialmente tenemos una base de datos GFG vacía, como se muestra en la imagen a continuación:
Cree los objetos de datos que desea insertar para toda la colección y luego insértelos como se muestra en el archivo main.js. Tan pronto como insertemos datos, nuestras colecciones se crearán automáticamente.
Paso 4: escriba el siguiente código en el archivo main.js.
main.js
const mongoose = require('mongoose'); const { Student, Course, Teacher } = require('./model.js'); // Connecting to database mongoose.connect('mongodb://localhost:27017/GFG', { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false }); // Creating array of course data object const courseData = [{ _id: 01, name: "NodeJS", category: "Backend" }, { _id: 02, name: "MongoDB", category: "Database" }] // Creating array of student data objects const studentData = [{ name: "John", enroll: 1801, courseId: 01 }] // Creating array of teacher data object const teacherData = [{ name: "TeacherX", teacher_id: 9901, courseId: 01 }, { name: "TeacherY", teacher_id: 9902, courseId: 02 }] // Inserting course data Course.insertMany(courseData) .then(value => { console.log("Saved Successfully"); }) .catch(error => { console.log(error); }) // Inserting student data Student.insertMany(studentData) .then(value => { console.log("Saved Successfully"); }) .catch(error => { console.log(error); }) // Inserting teacher data Teacher.insertMany(teacherData) .then(value => { console.log("Saved Successfully"); }) .catch(error => { console.log(error); })
Paso 5: Ejecute el archivo main.js usando el siguiente comando:
node main.js
Salida: Podemos ver en la consola que todos los datos se guardan correctamente.
Base de datos: Ahora podemos ver que se crean tres colecciones de cursos, estudiantes y profesores en nuestra base de datos GFG.
Publicación traducida automáticamente
Artículo escrito por localhost3000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA