Dans MongoDB comment utilisez-vous mettre à jour $ ensemble une valeur imbriquée / document incorporé?
-
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"
?
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