MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Aggiorna l'oggetto incorporato all'interno dell'array all'interno dell'array in MongoDB

Puoi usare solo il $ operatore posizionale per array a livello singolo. Nel tuo caso, hai un array nidificato (heros è un array, e al suo interno ogni eroe ha un spells matrice).

Se conosci gli indici degli array, puoi utilizzare indici espliciti quando esegui un aggiornamento, come:

> db.test.update({"heros.nickname":"test", "heros.spells.spell_id":1}, {$set:{"heros.0.spells.1.level":3}});