sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera inbäddat objekt inuti array inuti array i MongoDB

Du kan bara använda $ positionsoperator för ennivåmatriser. I ditt fall har du en kapslad array (heros är en array, och inom den har varje hjälte en spells array).

Om du känner till indexen för arrayerna kan du använda explicita index när du gör en uppdatering, som:

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


  1. Ansluta MongoDB från mobil eller webbläsarbaserad applikation

  2. Hur utför man en massuppdatering av dokument i MongoDB med Java?

  3. Index på ts-fältet i oplog.rs uppdateras inte

  4. apollostack/graphql-server - hur man får de efterfrågade fälten i en fråga från resolver