2014-10-12 64 views
-1

請指教哪個命令更適合更新多個字段,或者查詢下面有什麼問題。 查詢只更新價格與價值:23mongodb update()只修改第一個找到的值

db.products.update({"for":"ac3"}, {$inc:{"price":2}}) 

> db.products.find({},{for:1,price:1}) 
{ "_id" : "ac3", "price" : 200 } 
{ "_id" : "ac7", "price" : 320 } 
{ "_id" : ObjectId("507d95d5719dbef170f15bf9"), "price" : 23, "for" : [ "ac3", "ac7", "ac9" ] } 
{ "_id" : ObjectId("507d95d5719dbef170f15bfa"), "price" : 12 } 
{ "_id" : ObjectId("507d95d5719dbef170f15bfb"), "price" : 38, "for" : [ "ac3", "ac7", "ac9", "qp7", 
"qp8", "qp9" ] } 
{ "_id" : ObjectId("507d95d5719dbef170f15bfc"), "price" : 12.5, "for" : "ac3" } 
{ "_id" : ObjectId("507d95d5719dbef170f15bfd"), "price" : 12, "for" : "ac3" } 
{ "_id" : ObjectId("507d95d5719dbef170f15bfe") } 
{ "_id" : ObjectId("507d95d5719dbef170f15bff") } 
{ "_id" : ObjectId("507d95d5719dbef170f15c00") } 
{ "_id" : ObjectId("507d95d5719dbef170f15c01") } 
{ "_id" : "ac9", "price" : 333 } 

回答

2

您需要設置multi參數true

db.products.update({ "for": "ac3" }, { $inc: { "price": 2 } }, { "multi": true }); 
相關問題