¿Cómo hacer colecciones múltiples de Mongoose usando Node.js?

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: 

  1. 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.
  2. 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:

Inicialmente la base de datos está vacía

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.

Salida después de ejecutar main.js

Base de datos: Ahora podemos ver que se crean tres colecciones de cursos, estudiantes y profesores en nuestra base de datos GFG.

Base de datos después de la creación de múltiples colecciones.

Publicación traducida automáticamente

Artículo escrito por localhost3000 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 *