Obwohl es nicht so sauber ist, wie nur .distinct
aufrufen zu können Nach bestimmten Kriterien liefert diese Problemumgehung die erwarteten Ergebnisse:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))
Dies funktioniert (wie geschrieben) jedoch nicht als Bereich, also müssten Sie es zu einer Klassenmethode machen. Persönlich würde ich versuchen, mongoid einen Patch hinzuzufügen, um eine .unique
hinzuzufügen -Methode, die tut, was Sie wollen (da MongoDB für die Rückgabe von Feldwerten anstelle von Dokumenten verantwortlich ist, wenn Sie ihren eindeutigen Operator verwenden:http://www.mongodb.org/display/DOCS/Aggregation
)