【发布时间】:2017-01-27 10:46:38
【问题描述】:
我有以下代码来查找和更新 MongoDb 中嵌入文档的字段。
var fieldToIncrement = { $inc: {} };
fieldToIncrement.$inc['options_counter.'+field[0]] = 1;
console.log(fieldToIncrement);
db.collection('polls').findOneAndUpdate(
{_id: user_id},
fieldToIncrement,
{
returnNewDocument: true
}, function(err, doc){
if(err){console.log("Error updating the document")};
if(doc){
callback(doc);
}
}
)
我的数据结构是这样的
_id:"57e0149dcb0b20156878598d"
options:"osgn, srgounsrog, snourv"
options_counter:Object
0:0
1:0
2:0
代码中的变量字段是一个数组,其中包含一个元素,该元素引用了我要更新的 options_counter 对象的哪个字段。但是,返回的文档没有任何更新,也没有返回错误。我试着改变了
fieldToIncrement.$inc['options_counter.'+field[0]] = 1;
到
fieldToIncrement.$inc['opt_counter.'+field[0]] = 1;
它仍然没有返回错误。这意味着我不是 正确实现代码,因为 opt_counter 不是 我的文档,因此它应该返回一个错误。
【问题讨论】:
标签: javascript mongodb database