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

Truy vấn Mongodb với các trường trong cùng một tài liệu

Bạn có thể sử dụng $where :

db.myCollection.find( { $where: "this.a1.a != this.a2.a" } )

Tuy nhiên, hãy lưu ý rằng điều này sẽ không nhanh lắm, vì nó sẽ phải chạy công cụ tập lệnh java và lặp lại từng tài liệu và kiểm tra điều kiện cho từng tài liệu.

Nếu bạn cần thực hiện truy vấn này cho các bộ sưu tập lớn hoặc rất thường xuyên, tốt nhất bạn nên giới thiệu một cờ không chuẩn hóa, như areEqual . Tuy nhiên, các trường có độ chọn lọc thấp như vậy không mang lại hiệu suất chỉ mục tốt, bởi vì nhóm ứng cử viên vẫn còn lớn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tôi có thể sử dụng '$ set' trên tài liệu được nhúng khi sử dụng biến làm tên đã nộp trong MongoDB không?

  2. Mongodb $ lookup bộ sưu tập động

  3. Nhận _id của một tài liệu được chèn trong MongoDB?

  4. Chuỗi kết nối người dùng tùy chỉnh cho các phiên bản MongoDB có xác thực

  5. Cập nhật mảng với nhiều điều kiện trong mongodb