Hoewel niet zo schoon als gewoon .distinct
kunnen bellen op basis van een criterium geeft deze tijdelijke oplossing de verwachte resultaten:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))
Dit werkt echter niet (zoals geschreven) als een bereik, dus je zou er een klassenmethode van moeten maken. Persoonlijk zou ik kijken naar het toevoegen van een patch aan mongoid om een .unique
toe te voegen methode die doet wat u wilt (aangezien MongoDB verantwoordelijk is voor het retourneren van veldwaarden in plaats van documenten wanneer u de afzonderlijke operator gebruikt:http://www.mongodb.org/display/DOCS/Aggregation
)