MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Aktualizacja MongoDB Użycie pierwszej metody

Jeśli chcesz użyć operatora $ w części aktualizacji musisz jawnie napisać that array w części zapytania. Tak więc

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

powinno być

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

Jeśli znasz pozycję elementu w tablicy, `$' jest niepotrzebne, możesz spróbować tak:

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

Ten sam sposób obsługi name pole.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak grupować dane za pomocą szablonu mongo

  2. zapytanie zwrotne na podstawie daty

  3. Atrybuty wielojęzyczne w MongoDB

  4. MongoDB C# Array indeks lub indeksowanie wewnętrznych elementów tablic

  5. Relacje MongoDB:osadzanie czy odwołanie?