MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използване на метода MongoDB UpdateFirst

Ако искате да използвате оператор $ в частта за актуализиране, трябва изрично да напишете that array в частта за заявка. И така,

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

трябва да бъде

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

Ако знаете позицията на елемента в масива, `$' не е необходимо, можете да опитате така:

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

Същият начин за обработка на name поле.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:датите в обобщената заявка за съвпадение изглежда са игнорирани

  2. Има ли многоядрена експлоатираща NoSQL система?

  3. Масово прехвърляне в MongoDB с помощта на mongoose

  4. MongodDB $ изтегля само един елемент от масива

  5. Премахване на елемент от масив в mongodb