Dans MongoDB comment utilisez-vous mettre à jour $ ensemble une valeur imbriquée / document incorporé?

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

  •  26-09-2019
  •  | 
  •  

Question

Dans MongoDB comment utilisez-vous $set pour mettre à jour une valeur imbriquée?

Par exemple, envisager une collection personnes avec le document suivant:

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

Comment puis-je mettre à jour le champ street intégré dans le document de address de "123" à "Main Street"?

Était-ce utile?

La solution

En utilisant la dot notation :

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

Autres conseils

En plus de la réponse de Niels, faire également vérifier le « type » de la valeur imbriquée. Dans mon cas, ce fut une « chaîne » formé à partir JSON. Bien que cela puisse être peu probable, mais ne garantissent que la valeur a le bon type.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top