sql >> Database >  >> NoSQL >> MongoDB

MongoDB UpdateEerste methode gebruik

Als u operator $ . wilt gebruiken in het updategedeelte moet je expliciet that array schrijven in het vraaggedeelte. Dus,

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

zou moeten zijn

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);

Als je de positie van het element in de array weet, is `$' niet nodig, je kunt het als volgt proberen:

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

Dezelfde manier om met name om te gaan veld.




  1. BSON-bestand lezen in Python?

  2. Hoe gaat MongoDB om met gelijktijdige updates?

  3. Afwikkeling verwerken voor het niet-bestaande ingesloten document

  4. Mangoest bevolken na opslaan