在 Mongoose 5 中,insertMany
方法的行为与之前的版本略有不同。具体来说,insertMany
方法在 Mongoose 5 中返回一个包含 insertedIds
属性的对象,而不是直接返回一个数组。
insertMany
方法在 Mongoose 5 中,当您使用 insertMany
方法插入多个文档时,返回的结果是一个对象,其中包含以下属性:
insertedCount
: 插入的文档数量。insertedIds
: 一个对象,包含每个插入文档的 _id
值。以下是一个使用 insertMany
方法的示例,展示如何处理返回的结果:
const mongoose = require('mongoose');
// 连接到 MongoDB
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true });
// 定义一个简单的模型
const UserSchema = new mongoose.Schema({
name: String,
age: Number
});
const User = mongoose.model('User', UserSchema);
// 使用 insertMany 插入多个文档
async function insertUsers() {
try {
const users = [
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 35 }
];
const result = await User.insertMany(users);
console.log('Inserted Count:', result.insertedCount);
console.log('Inserted IDs:', result.insertedIds);
} catch (error) {
console.error('Error inserting users:', error);
} finally {
mongoose.connection.close();
}
}
insertUsers();
insertMany
返回的对象结构与之前的版本不同,因此请确保在处理返回值时使用 insertedIds
属性。insertMany
会抛出异常,因此请确保使用 try-catch
块来处理可能的错误。领取专属 10元无门槛券
手把手带您无忧上云