如果字段不存在,如何在所有文档中插入字段

时间:2015-09-24 09:28:30

标签: mongodb optimization database nosql

如果此字段之前不存在,我试图在集合的每个文档中插入一个字段。为此,我想:

db.people.update(
   { city.postcode: "" },
   {
      city.postcode: "W1"
   },
   { multi: true }
)

但不幸的是,它不起作用;有什么提示吗?

更新

此处的文档: http://docs.mongodb.org/manual/reference/method/db.collection.update/

3 个答案:

答案 0 :(得分:3)

您在这里缺少$set

如果您想更新city.postcode": ""的记录,请使用以下查询:

db.collection.update( { "city.postcode: "" }, {$set:{ "city.postcode": "W1"}}, { multi: true, upsert: true } )

如果您想在city.postcode"不存在时更新记录,请使用以下查询:

db.collection.update( { "city.postcode": {$exist:false} }, {$set:{ "city.postcode": "W1"}}, { multi: true, upsert: true } )

答案 1 :(得分:1)

试试这个:

db.people.update(
   { city.postcode: {$exists: false} },
   { city.postcode: "W1"},
   { multi: true, upsert: true }
)

答案 2 :(得分:0)

@stackpepe尝试此查询以更新所有文档

db.people.update( {},{ $set: { city.postcode: "W1" },{ multi: true } })