Javascript 尝试使用NodeJS通过POST请求将多个文档/记录插入MongoDB
我目前正在使用MongoDB和NodeJS构建一个API,我有以下代码块来执行POST请求:Javascript 尝试使用NodeJS通过POST请求将多个文档/记录插入MongoDB,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我目前正在使用MongoDB和NodeJS构建一个API,我有以下代码块来执行POST请求: // '/v1/restaurant/add' - Create api.post('/add', (req, res) => { let newRestaurant = new Restaurant(); newRestaurant.name = req.body.name; newRestaurant.save(err => { if (err)
// '/v1/restaurant/add' - Create
api.post('/add', (req, res) => {
let newRestaurant = new Restaurant();
newRestaurant.name = req.body.name;
newRestaurant.save(err => {
if (err) {
res.send(err);
}
res.json({ message: 'Restaurant saved successfully' });
});
});
我想做的是批量发布(即一次将多个文档/记录插入我的MongoDB)。我将如何修改代码来实现这一点
很抱歉,但我对JavaScript/NodeJS非常陌生。使用Mongoose有两种方法
Model.create()。如果您想插入大量记录,这将对性能造成影响,但您可以从Mongoose为每个记录调用save()
方法中获益,这意味着您的pre
和post
中间件功能将被触发。您可以阅读更多有关该方法的信息
Model.insertMany()
-它还接受要插入的对象数组,但在单个数据库操作中执行此操作。您可以获得更好的性能,但代价是,save()
函数不会对任何要插入的项运行(在提交查询之前仍将运行验证)。您可以阅读有关insertMany()
的更多信息pre/post save
中间件功能,我会使用create()
如果我的模型不复杂,并且一次必须定期插入50多个项目,我会使用insertMany()