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

Làm cách nào để đảm bảo mục duy nhất trong một mảng dựa trên các trường cụ thể - mongoDB?

Mustafa, các ràng buộc duy nhất không được thực thi trong một mảng, mặc dù chúng được thực thi giữa các tài liệu trong một bộ sưu tập. Đây là một lỗi đã biết sẽ không được sửa trong một thời gian:

https://jira.mongodb.org/browse/SERVER-1068

Tuy nhiên, có một cách giải quyết. Giữ chỉ mục duy nhất của bạn tại chỗ và:

1) Đảm bảo ứng dụng của bạn không chèn các tài liệu mới có giá trị trùng lặp trong mảng. Bạn có thể kiểm tra tính duy nhất trong mã ứng dụng của mình trước khi chèn.

2) Khi cập nhật các tài liệu hiện có, hãy sử dụng $ addToSet thay vì $ push.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm tất cả các tài liệu trùng lặp trong bộ sưu tập MongoDB theo trường khóa

  2. MongoDB Regex, Chỉ mục &Hiệu suất

  3. Mongoose JS findOne luôn trả về null

  4. MongoDB $ abs

  5. Cập nhật thuộc tính tài liệu nhúng trong Mongodb