如何使用ruby的mongo驅動更新多級文檔。例如,這裏的docuement的一部分:如何使用ruby的mongo驅動更新多級文檔
...
"group_overrides": [
{
"additional_filesystem_gb": 0,
"components": [
{
"comp": "jbosseap-6",
"cart": "jbosseap-6",
"cart_id": ObjectId("5423d363f4b25eea0b000021")
}
],
"max_gears": 1
}
],
在蒙戈殼我可以這樣做:
db.applications.update({name:"ulmuqhfv"}, {$set: {"group_overrides.0.additional_filesystem_gb": 1}})
和文檔將被更新。當我嘗試以下內容時:
db.update('applications', {"app_name"=>"ulmuqhfv"}, {"$set"=>{"group_overrides.0.additional_filesystem_gb"=>1})
失敗。什麼是更新數組的正確語法?
db是一個圍繞ruby mongo驅動程序的包裝類的實例。這裏的更新方法是什麼樣子:
def update(c_name, selector, opts)
db = @db.collection(c_name)
if opts
db.update(selector, opts).to_a
else
db.update(selector).to_a
end
end
Ruby中的db是什麼? 「失敗」的具體含義是什麼? – 2014-09-25 19:21:47
db只是一個包裝,它基本上是對集合的訪問並調用update() – cfpete 2014-09-25 20:42:05