mongodb更新多不工作

时间:2015-03-19 16:31:51

标签: mongodb

我想要更新名为company的字段,这是我的查询

user_collection.update({"campaing" => "mediacom"}, {"campaing" => "flatiron"}, {"multi" => true})

但问题是更新只会影响一个文档,而不会影响来自集合的所有文档和" multi" flag设置为true

3 个答案:

答案 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功能