2014-04-16 59 views
0

我想在一個貓鼬調用中更新單個文檔中的多個值。這可能嗎?使用貓鼬在一個文檔中多次更新

我有一些與此類似:

update = {$inc : { numShown : 1 }, $inc : { secondField.subField : 1 }}; 
options = {}; 
MyModel.findByIdAndUpdate(req._id, update, options, function(err){ 
    if(err){ return console.error(err);} 
} 

它運行,但不進行任何更新。

+0

的對象不能包含兩個相同的密鑰,你嘗試過將它作爲一個數組? 'update = [{$ inc:{numShown:1}},{$ inc:{secondField.subField:1}}];' –

回答

2

您需要兩個$inc值組合成一個單一的對象,並引用關鍵點:

update = { $inc : { numShown : 1, 'secondField.subField' : 1 } }; 
+0

完美,我也忘記了在我的mongoose模型中指定集合名稱,收集沒有文件。我希望有一個簡單的方法來搜索數據庫,而不是通過id的集合,因爲它們應該是唯一的。 –