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

hiệp hội mongomapper bỏ qua các bản sao

Những gì bạn đang thấy hoàn toàn chính xác so với định nghĩa của các liên kết và truy vấn cơ bản khớp với mệnh đề "in". đối tượng http://en.wikipedia.org/wiki/Set_(mathearies) Tìm nạp danh sách người dùng có một truy vấn cơ bản trên Tập hợp người dùng với mệnh đề $ in, hãy xem http://docs.mongodb.org/manual/reference/operator/query/in/

Đối với liên kết @ task.userlist, bạn sẽ chỉ nhận được các tài liệu trong bộ sưu tập Người dùng khớp với mệnh đề $ in, bộ sưu tập Người dùng là "chủ đề" chính. Có sự khác biệt đáng kể về ngữ nghĩa so với

User.where(:user_id.in => self.user_id)

so với

self.user_id.collect |user_id| do User.where(:user_id => user_id).first; end

Để có được "bản sao" từ truy vấn trước đây, bạn sẽ phải có các tài liệu trùng lặp trong bộ sưu tập Người dùng.;-)

Mong rằng điều này sẽ giúp ích cho sự hiểu biết của bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ngoại lệ MongoDB:Máy chủ báo cáo phiên bản dây 0, nhưng phiên bản libmongoc yêu cầu ít nhất 3

  2. Kết nối với MongoDB Atlas Cluster db bằng ứng dụng gốc phản ứng

  3. Thay đổi một đối tượng hiện có trong một mảng nhưng vẫn bảo toàn tính duy nhất chính

  4. E:Không thể định vị gói mongodb-org

  5. Cảnh báo về việc kết nối với MongoDB bằng máy chủ Node