如何使用Node.js创建多个Mongoose集合

如何使用Node.js创建多个Mongoose集合

Mongoose 是MongoDB的对象数据建模(ODM)库。它定义了一个具有默认值和模式验证的强类型模式,该模式随后映射到一个MongoDB文档中。

要使用Mongoose创建集合,您需要创建两个必要的内容:

  1. 模式: 它是一个包含属性及其类型(默认值,验证等,在需要时)的文档结构,以键值对的形式表示。
  2. 模型: 它是通过定义的模式创建的一个类,MongoDB文档是模型的实例。因此,它作为与MongoDB数据库交互的接口,用于创建、读取、更新和删除文档。

安装Mongoose:

步骤1: 您可以访问以下链接 安装mongoose 来安装mongoose模块。您可以使用以下命令安装此包。

npm install mongoose

步骤2: 现在您可以使用以下命令将mongoose模块导入到您的文件中:

const mongoose = require('mongoose');

实现:

步骤1: 创建一个文件夹并将model.js和main.js文件放入其中。

  • model.js: 它包含您想要创建的所有集合的架构和模型,然后我们导出所有创建的模型,以便它们可以被导入到我们将创建集合的文件中。
  • main.js: 这是主服务器文件,我们在这里插入了一些数据到一个集合中。

步骤2: 在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 
}

步骤3: 使用mongoose可以轻松建立数据库连接,如下所示:

mongoose.connect('mongodb://localhost:27017/GFG',
{  
   useNewUrlParser: true,  
   useUnifiedTopology: true,  
   useFindAndModify: false
});

如果数据库GFG已存在,则建立连接,否则将创建第一个数据库并建立连接。在下面的图像中,最初我们有一个空的数据库GFG:

如何使用Node.js创建多个Mongoose集合

在所有集合中,创建您想要插入的数据对象,然后按照 main.js 文件中所示进行插入。一旦我们插入数据,我们的集合将自动创建。

步骤4: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); 
    })

步骤5: 运行 main.js 文件,使用以下命令:

node main.js

输出: 我们可以在控制台中看到所有数据都保存成功。

如何使用Node.js创建多个Mongoose集合

数据库: 现在我们可以看到在我们的数据库GFG中创建了三个集合 课程,学生,教师。

如何使用Node.js创建多个Mongoose集合

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程