47
這似乎是一個愚蠢的問題,但我還沒有找到答案。如果我只是想爲MongoDB集合中的EVERY記錄添加相同的field-> value,那麼適當的shell命令是什麼呢?我試圖做一個空白查詢多更新({}),但導致這個錯誤:MongoDB:無條件更新?
多更新只適用於$運營商
我有點不解如何去解決這個。有什麼建議麼?
這似乎是一個愚蠢的問題,但我還沒有找到答案。如果我只是想爲MongoDB集合中的EVERY記錄添加相同的field-> value,那麼適當的shell命令是什麼呢?我試圖做一個空白查詢多更新({}),但導致這個錯誤:MongoDB:無條件更新?
多更新只適用於$運營商
我有點不解如何去解決這個。有什麼建議麼?
錯誤說明了一切:您只能使用$
modifier operators修改多個文檔。你可能有這樣的事情:
> db.coll.update({ }, { a: 'b' }, false, true);
這通常與{ a: 'b' }
如果multi
是虛假的取代第一目的的收藏。你不想用同一個文檔替換集合中的所有對象!
使用$set
operator代替:
> db.coll.update({ }, { '$set': { a: 'b' } }, false, true);
這將每個文件(如有必要創建它)的a
屬性設置爲'b'
。
感謝您的幫助!這確實是我的錯誤。 – 2011-04-07 22:45:05
'$ set'不含引號也可以 – Jaider 2016-04-14 15:44:38