50

在 MongoDB 中,如何使用$set更新嵌套值?

例如,考虑具有以下文档的集合people :

{
  _id: ObjectId("5a7e395e20a31e44e0e7e284"),
  name: "foo",
  address: { street: "123", town: "bar" }
}

如何将文档street中嵌入的字段从 更新为?address"123""Main Street"

4

2 回答 2

94

使用点符号

db.people.update({ }, { $set: { "address.street": "Main Street" } })
于 2010-09-30T07:04:12.213 回答
2

除了 Niels 的回答,还要验证嵌套值的“类型”。就我而言,它是由 json 形成的“字符串”。虽然这可能不太可能,但请确保该值具有正确的类型。

于 2015-03-11T06:30:59.197 回答