如何在MongoDB中執行動態文檔更新? (從終端應用蒙戈,不通過使用額外的庫,例如貓鼬爲的NodeJS)如何在MongoDB中執行動態文檔更新?
我第一次嘗試似乎並沒有實際更新任何內容:
db.people.find().forEach(function(myDoc) { myDoc.field = myDoc.field.replace(/\/./g, '/'); });
在更新文件http://docs.mongodb.org/manual/reference/method/db.collection.update/#update-parameter似乎只是討論「靜態」更新(因此您不能使用文檔屬性的存在值來確定新值應該是什麼)。
我需要使用MapReduce功能嗎?
無法更新字段的值基於目前「另一個」字段的價值。但是,你所做的只是在選擇方面的一個「正則表達式」匹配,並在「更新」一方更新一個「固定」值。那麼,爲什麼你不能簡單地做到這一點? –
@NeilLunn這個值是唯一的,所以如果我正確理解你的話,那就意味着我會被迫爲n個文件運行n個查詢,這聽起來並不好玩。 – Trindaz