MongoDB では、$set を使用してネストされた値/埋め込みドキュメントを更新するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3828452

  •  26-09-2019
  •  | 
  •  

質問

MongoDBではどのように使用しますか $set ネストされた値を更新するには?

たとえば、コレクションについて考えてみましょう 人々 次の文書とともに:

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

更新するにはどうすればよいですか street に埋め込まれたフィールド address からの文書 "123""Main Street"?

役に立ちましたか?

解決

ドット表記法を使用する

db.people.update({ }, { $set: { "address.street": "Main Street" } })

他のヒント

ニールス答えに加えて、ネストされた値の 『タイプ』を確認します。私の場合、それはJSONから形成された「文字列」でした。けれども、これはそうかもしれませんが、値が正しい型を持っていることを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top