MongoDBでは、ネストされた値を更新するために$set
をどのように使用しますか?
たとえば、次のドキュメントを含むコレクションpeopleについて考えてみます。
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
street
ドキュメントに埋め込まれているaddress
フィールドを"123"
から"Main Street"
に更新するにはどうすればよいですか?
ドット表記 の使用:
db.people.update({ }, { $set: { "address.street": "Main Street" } })
Nielsの回答に加えて、ネストされた値の「タイプ」も確認してください。私の場合、それはjsonから形成された「文字列」でした。これはありそうもないかもしれませんが、値が正しいタイプであることを確認してください。