中我有以下結構添加屬性,以嵌套的數組MongoDB的文檔
> db.user.find().limit(1);
{ "_id" : "1", "foo" : { "bars" : [
{
"name" : "bar1"
},
{
"name" : "bar2"
},
], ... }, ... }
我想一個新的屬性添加到每個bar
一個MongoDB的文檔。我的腳本迭代了bars
數組,但我無法獲得新的屬性,我該怎麼做?
var users = db.user.find({"foo.bars":{$exists:true}});
users.forEach(function(user) {
user.foo.bars.forEach(function(bar)
{
printjson(bar);
//how can I specify the current 'bar' in this update?
//db.experience.update({_id: user._id}, {$set: {"what goes here?" : "newbarValue"}});
});
});
是否確實「想一個新的屬性添加到每個欄」實際工作?特別是你想在'user.foo.bars。$ {bar}'中使用'user',那麼'$ {bar}'應該做什麼?難道是你試圖在沒有檢查過的情況下發明新的語法嗎?對於想這不是有效的語法,你會發現它的註釋,我想表達我的意圖 –
「user.foo.bars $ {}吧。」表示?。這裏沒有什麼用處,你不能這樣做: – markdsievers