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.