要保存多个Mongoose模型,可以使用Promise.all()方法将多个保存操作组合在一起。下面是一个示例代码:
const mongoose = require('mongoose');
// 定义模型
const UserSchema = new mongoose.Schema({
name: String,
age: Number
});
const PostSchema = new mongoose.Schema({
title: String,
content: String
});
const User = mongoose.model('User', UserSchema);
const Post = mongoose.model('Post', PostSchema);
// 创建多个模型实例
const user1 = new User({ name: 'John', age: 25 });
const user2 = new User({ name: 'Jane', age: 30 });
const post1 = new Post({ title: 'Hello World', content: 'This is my first post.' });
const post2 = new Post({ title: 'Mongoose Tutorial', content: 'Learn how to use Mongoose.' });
// 使用Promise.all()保存多个模型
Promise.all([user1.save(), user2.save(), post1.save(), post2.save()])
.then(results => {
console.log('All models saved successfully!');
// 在这里处理保存成功后的操作
})
.catch(error => {
console.error('Error saving models:', error);
// 在这里处理保存失败后的操作
});
在上面的示例中,我们创建了两个模型User
和Post
,然后使用new
关键字创建了多个模型实例。然后,我们将这些模型实例传递给Promise.all()
方法中,它会返回一个Promise对象,可以使用.then()
和.catch()
处理保存操作的结果。如果所有模型保存成功,.then()
回调函数将被触发,否则.catch()
回调函数将被触发,并接收到保存错误。