我正在编写一个服务类(mongo_service.js),以便让我的CRUD操作与项目分开。
以下是更新多个项目的代码。
updateMultipleCollection(Model, searchObject, collectionNewToUpdate) {
return new Promise(function (resolve, reject) {
Model.update( searchObject, collectionNewToUpdate, {new:true, multi:true}, function (err, data) {
if (err) {
reject(err);
}
resolve (data);
console.info("Multiple updates successful");
});
});
};
这很好但是承诺不会返回更新的对象,我想知道是否还有其他方法可以克服这个问题?
注意:在mongoose文档中,他们提到.update()不会返回更新的对象,而.findOneAndUpdate()会返回。
答案 0 :(得分:0)
你可以做一个.find()
并返回一个数组。
然后对数组执行forEach
并在每个文档上执行.save
。新文档应该在.save