Mongoose(mongodb)批量插入

作者:编程家 分类: 编程代码 时间:2025-07-07

使用Mongoose(mongodb)批量插入数据是一种高效且便捷的方法。在处理大量数据时,我们经常需要一次性插入多个文档到数据库中。Mongoose提供了几种方式来实现批量插入,下面将为您介绍其中一种方法。

使用Model.insertMany()方法批量插入数据

Model.insertMany()方法是Mongoose提供的一种用于批量插入文档的方法。它接受一个包含多个文档的数组作为参数,并将这些文档一次性插入到数据库中。下面是一个示例代码,展示了如何使用insertMany()方法批量插入数据:

javascript

const mongoose = require('mongoose');

// 连接到MongoDB数据库

mongoose.connect('mongodb://localhost/testdb', { useNewUrlParser: true, useUnifiedTopology: true })

.then(() => {

console.log('Connected to MongoDB');

})

.catch((error) => {

console.error('Failed to connect to MongoDB', error);

});

// 定义数据模式

const userSchema = new mongoose.Schema({

name: String,

age: Number

});

// 创建数据模型

const User = mongoose.model('User', userSchema);

// 定义要插入的文档数组

const users = [

{ name: 'Alice', age: 25 },

{ name: 'Bob', age: 30 },

{ name: 'Charlie', age: 35 }

];

// 使用insertMany()方法批量插入文档

User.insertMany(users)

.then((result) => {

console.log('Documents inserted:', result);

})

.catch((error) => {

console.error('Failed to insert documents', error);

});

上述代码中,我们首先使用mongoose.connect()方法连接到MongoDB数据库。然后,定义了一个数据模式userSchema,其中包含了name和age两个字段。接着,使用mongoose.model()方法创建了一个名为User的数据模型。

在插入数据之前,我们定义了一个包含多个文档的数组users。每个文档都包含了name和age字段的值。

最后,我们使用User.insertMany()方法将整个users数组一次性插入到数据库中。成功插入后,将会返回一个包含插入结果的Promise对象,我们可以在then()方法中处理这个结果。

这样,我们就完成了使用Mongoose批量插入数据的过程。使用insertMany()方法可以方便地一次性插入多个文档,提高了数据插入的效率。