Selvom det ikke er så rent som bare at kunne kalde .distinct
på et kriterium giver denne løsning de forventede resultater:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))
Dette virker dog ikke (som skrevet) som et omfang, så du bliver nødt til at gøre det til en klassemetode. Personligt ville jeg overveje at tilføje en patch til mongoid for at tilføje en .unique
metode, der gør, hvad du vil (da MongoDB er ansvarlig for at returnere feltværdier i stedet for dokumenter, når du bruger dens særskilte operator:http://www.mongodb.org/display/DOCS/Aggregation
)