2013-07-25 116 views
1

我有示例產品表並希望使用_id字段更新多個文檔。每次,我都會嘗試它,只更新我提到的$ in子句中的第一個文檔,而不是全部更新。使用_id字段更新mongodb中的多個文檔

db.products.update({_id:{$in:[ObjectId("507d95d5719dbef170f15bff"), 
ObjectId("507d95d5719dbef170f15c01"), ObjectId("507d95d5719dbef170f15c00")]}}, 
{$set:{'monthly_price':7865}}, {multi:true}) 
+0

此查詢我的作品。你還有其他問題。 – user10

回答

0

您可以先嚐試在產品表上運行find以確保所有對象id實際存在。

您也可以嘗試explain command

0

試試這個:

db.<collection>.update({ query }, {$set: {monthly_price:7865}}, false, true) 
0

我覺得對象ID的,你給集合中不存在。
我嘗試使用下面的查詢,它爲我工作。

db.test.update({_id:{$in:[ObjectId("57b33483e5b9ce24f4910855"), 
          ObjectId("57b33483e5b9ce24f4910856"), 
          ObjectId("57b33489e5b9ce24f4910857"), 
          ObjectId("57b33491e5b9ce24f4910858") 
         ] 
        } 
       }, 
       {$set{'isCurrentStatus':true}}, 
       {multi:true} 
      ) 

Query result

+1

Hi sai teja,歡迎來到Stack Overflow。如果您將其作爲文本進行粘貼,您的答案會更好,而不是包含查詢結果的屏幕截圖。這樣它就更具可讀性和可索引性等。在這個網站上,鼓勵用戶儘可能地進行編輯以改進他們的答案,所以這將是一個好的開始。 –

相關問題