sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB Update První použití metody

Pokud chcete použít operátor $ v části aktualizace musíte výslovně napsat that array v části dotazu. Takže

mongoTemplate.updateFirst(
query(where("name").is("Award1")), 
Update.update("brand.$.descr", "Desc2"),
Awards.class);

by mělo být

mongoTemplate.updateFirst(
query(where("name").is("Award1"))
.and("brand.name").is("Brand1"), // "brand" in "brand.name" is necessary, others according to your requirement
Update.update("brand.$.descr", "Desc2"),
Awards.class);

Pokud znáte pozici prvku v poli, `$' je zbytečné, můžete to zkusit takto:

mongoTemplate.updateFirst(
query(where("name").is("Award1")), 
Update.update("brand.0.descr", "Desc2"), // 0 is the index of element in array
Awards.class);

Stejný způsob zpracování name pole.




  1. Jak ukládat velké objekty do mezipaměti pomocí mezipaměti Redis

  2. MongoDB C++, Jak přidat hodnotu ISODate při vkládání

  3. Spring data mongodb - Je vyžadována volba 'kurzor'

  4. Jak mohu změnit velikost limitované kolekce mongodb bez ztráty dat?