In MongoDB come si usa $ impostato per aggiornare un documento nidificato valore / embedded?
-
26-09-2019 - |
Domanda
In MongoDB come si usa $set
per aggiornare un valore annidato?
Per esempio, si consideri una collezione persone con il seguente documento:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
Come faccio ad aggiornare il campo street
incorporato nel documento address
da "123"
a "Main Street"
?
Soluzione
Uso della notazione :
db.people.update({ }, { $set: { "address.street": "Main Street" } })
Altri suggerimenti
In aggiunta alla risposta Niels', fare anche verificare il 'tipo' di valore nidificato. Nel mio caso, si trattava di una "stringa" formato da JSON. Anche se questo potrebbe essere improbabile, ma fate in modo che il valore ha il tipo giusto.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow