Meskipun tidak sebersih hanya dapat memanggil .distinct
pada kriteria, solusi ini memberikan hasil yang diharapkan:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))
Ini tidak berfungsi (seperti yang tertulis) sebagai ruang lingkup, jadi Anda harus menjadikannya metode kelas. Secara pribadi, saya akan mempertimbangkan untuk menambahkan tambalan ke mongoid untuk menambahkan .unique
metode yang melakukan apa yang Anda inginkan (karena MongoDB bertanggung jawab untuk mengembalikan nilai bidang alih-alih dokumen saat Anda menggunakan operatornya yang berbeda:http://www.mongodb.org/display/DOCS/Aggregation
)