MongoDB:无条件更新?

这似乎是一个愚蠢的问题,但我还没有find答案。 如果我只是想为MongoDB集合中的每条logging添加相同的field-> value,那么适当的shell命令是什么呢? 我尝试使用空白查询({})进行多重更新,但导致出现此错误:

多更新只适用于$运算符

我对如何解决这个问题有些困惑。 有什么build议么?

错误说明了一切:您只能使用$ modifier操作符修改多个文档。 你可能有这样的事情:

 > db.coll.update({ }, { a: 'b' }, false, true); 

如果multi为false,通常会用{ a: 'b' } replace集合中的第一个对象。 你不想用同一个文档replace集合中的所有对象!

改为使用$set操作符 :

 > db.coll.update({ }, { '$set': { a: 'b' } }, false, true); 

这会将每个文档a属性(根据需要创build)设置为'b'