我有一個人員文檔數據庫。每個人都有一個名爲照片的字段,這是一組照片文檔。我想爲每個照片文檔添加一個新的「已審覈」標誌並將其初始化爲false。向嵌套數組中的所有文檔添加新字段
這是我試圖使用查詢:
db.person.update({ "_id" : { $exists : true } }, {$set : {photos.reviewed : false} }, false, true)
不過,我得到以下錯誤:
SyntaxError: missing : after property id (shell):1
這是可能的,如果是這樣,我在做什麼錯在我更新?
這裏是「人」文件的一個完整的例子:
{
"_class" : "com.foo.Person",
"_id" : "2894",
"name" : "Pixel Spacebag",
"photos" : [
{
"_id" : null,
"thumbUrl" : "http://site.com/a_s.jpg",
"fullUrl" : "http://site.com/a.jpg"
},
{
"_id" : null,
"thumbUrl" : "http://site.com/b_s.jpg",
"fullUrl" : "http://site.com/b.jpg"
}]
}
獎金因果報應的人誰可以告訴我一個更清潔,爲什麼要更新「所有文件」,而不使用查詢{ "_id" : { $exists : true } }
很好的答案。爲了澄清我所尋找的「獎金」是一種用「簡單」查詢來更新所有文檔的方法(比「{」_id「:{$ exists:true}}更簡單」),我理解「多「param,但我仍然需要一個匹配所有文檔的查詢,我想也許」{}「會匹配所有文檔,但我不這麼認爲嗎? – 2012-03-14 03:12:23
不,這不是一個」解決方案「,而是一個爲什麼我根本無法用mongodb(2.0.2)的版本找到我想要的解決方案如果解決方案確實可用,請爲未來的用戶發佈另一個答案 – 2012-03-14 03:18:12