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'
。