MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cập nhật MongoDB

Nếu bạn muốn sử dụng toán tử $ trong phần cập nhật, bạn phải viết rõ ràng that array trong phần truy vấn. Vì vậy,

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

nên được

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

Nếu bạn biết vị trí của phần tử trong mảng, `$ 'là không cần thiết, bạn có thể thử như sau:

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

Cùng một cách để xử lý name trường.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kết nối Mongoose

  2. Spring Data MongoDB Annotation @CreateDate không hoạt động khi ID được chỉ định theo cách thủ công

  3. Thêm giá trị mảng vào MongoDB nơi phần tử không có trong mảng

  4. Tệp cấu hình MongoDB Yaml Không được công nhận Tùy chọn:Bộ nhớ

  5. Nâng cấp nhanh hoặc hàng loạt trong pymongo