【发布时间】:2019-04-08 23:34:05
【问题描述】:
我正在尝试用数组的新副本替换子文档数组。
类似...
var products = productUrlsData; //new array of documents
var srid = the_correct_id;
StoreRequest.findOneAndUpdate({_id: srid}, {$set: {products: products}}, {returnNewDocument : true}).then(function(sr) {
return res.json({ sr: sr}); //is not modified
}).catch(function(err) {
return res.json({err: err});
})
products var 有正确的修改,但返回的对象以及 db 中的文档没有被修改。这不是替换子文档数组字段的正确方法吗?如果不是,那是什么?
【问题讨论】:
-
您是否尝试过明确设置 multi : true ? .参考:docs.mongodb.com/manual/reference/method/db.collection.update
-
是的。没有变化。
-
@valen 而不是
returnNewDocument: true,选项应该是:new: true
标签: javascript arrays node.js mongodb mongoose