我想要更新名为company的字段,这是我的查询
user_collection.update({"campaing" => "mediacom"}, {"campaing" => "flatiron"}, {"multi" => true})
但问题是更新只会影响一个文档,而不会影响来自集合的所有文档和" multi" flag设置为true
答案 0 :(得分:1)
根据文档中引用的paul,您希望使用$set
来更改字段值:
user_collection.update({ "campaing" : "mediacom" }, { "$set" : { "campaing" : "flatiron" } }, { "multi" : true })
使用文档更新意味着"将匹配的文档替换为此文档":
> db.test.drop()
> db.test.insert({ "_id" : 0, "a" : 1, "b" : 0 })
> db.test.update({ "_id" : 0 }, { "b" : 1 })
> db.test.findOne()
{ "_id" : 0, "b" : 1 }
答案 1 :(得分:0)
来自mongoDB文档:
“如果文档仅包含field:value表达式,则update()无法更新多个文档。”
http://docs.mongodb.org/manual/reference/method/db.collection.update/
答案 2 :(得分:0)
您可以尝试updateMulti功能