Anda dapat menggunakan $where
:
db.myCollection.find( { $where: "this.a1.a != this.a2.a" } )
Namun, perlu diketahui bahwa ini tidak akan terlalu cepat, karena itu harus menghidupkan mesin skrip java dan mengulangi setiap dokumen dan memeriksa kondisinya untuk masing-masing.
Jika Anda perlu melakukan kueri ini untuk koleksi besar, atau sangat sering, sebaiknya gunakan flag yang didenormalisasi, seperti areEqual
. Namun, bidang selektivitas rendah seperti itu tidak menghasilkan kinerja indeks yang baik, karena kumpulan kandidatnya masih besar.