.distinct
を呼び出すことができるほどクリーンではありませんが 基準に基づいて、この回避策は期待される結果をもたらします:
Person.find(Person.nearby(location_in_new_york, 1).distinct(:_id))
ただし、これは(記述されているように)スコープとしては機能しないため、クラスメソッドにする必要があります。個人的には、.unique
を追加するためにmongoidにパッチを追加することを検討します。 必要なことを実行するメソッド(MongoDBは、個別の演算子を使用するときにドキュメントではなくフィールド値を返す責任があるため: http://www.mongodb.org/display/DOCS/Aggregation
)