sql >> Base de Datos >  >> NoSQL >> MongoDB

Actualice el objeto incrustado dentro de la matriz dentro de la matriz en MongoDB

Solo puedes usar el $ operador posicional para arreglos de un solo nivel. En su caso, tiene una matriz anidada (heros es una matriz, y dentro de eso cada héroe tiene un spells matriz).

Si conoce los índices de las matrices, puede usar índices explícitos al realizar una actualización, como:

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