在MongoDB中,如何使用 $set
更新嵌套值?
例如,使用以下文档考虑一个人集合:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
如何将street
文档中嵌入的address
字段从"123"
更新为"Main Street"
?
答案 0 :(得分:56)
使用dot notation:
db.people.update({ }, { $set: { "address.street": "Main Street" } })
答案 1 :(得分:2)
除了Niels'回答,还要验证"类型"嵌套值。就我而言,它是一个"字符串"由json组成。虽然这可能不太可能,但请确保该值具有正确的类型。