0
我有以下代碼來查找和更新MongoDb中嵌入文檔的字段。findOneAndUpdate不返回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不是 我的文檔中的字段,因此它應該返回一個錯誤。