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

MongoDB và khắc phục sự cố

Đầu tiên, nó không giống như bạn đang làm một chút nào. Cú pháp cho điều đó trong Java API sẽ có đối số thứ ba để db.update được đặt thành true.

   db.update(com.mongodb.DBObject, com.mongodb.DBObject, boolean /*upsert */, boolean /* multi */)

Bạn cũng không nên thực hiện $ push - ngữ nghĩa của những gì bạn nói bạn muốn làm trong mongo shell sẽ là:

db.collection.update( {"resourceVacation":resourceID}, {$set:{"vacationList":[...]}, true)

Điều này nói rằng:nếu resourceVacation có resourceID tồn tại, thì hãy tạo "danh sách kỳ nghỉ" của nó như những gì tôi đang cung cấp cho bạn. Nếu nó không tồn tại thì hãy chèn bản ghi này.

Nếu bạn đang sử dụng Java API trực tiếp, thì tương đương với những điều trên là đủ.

Có vẻ như bạn đang sử dụng MongoTemplate từ Spring. Bạn sẽ cần kiểm tra xem mình đang sử dụng phiên bản nào vì phiên bản này không được sử dụng để cho phép cảnh báo . Vấn đề đó được đánh dấu là đã giải quyết xong. Nếu bạn bị mắc kẹt trên phiên bản cũ hơn, thì có một giải pháp được mô tả tại đây .

Nếu bạn đang sử dụng phiên bản mới nhất, bạn sẽ có thể sử dụng trực tiếp phương thức upert mới được thêm vào, như được mô tả tại đây .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách nhanh nhất để loại bỏ các tài liệu trùng lặp trong mongodb

  2. Cách tốt nhất để kết nối với MongoDB bằng Node.js

  3. Tính sản phẩm chấm giữa hai mảng với MongoDB Aggregate

  4. Cách tạo mục nếu không tồn tại và trả về lỗi nếu tồn tại

  5. Tương đương với ERD cho MongoDB?