集計フレームワークを使用してみましたか?
2段階のパイプラインが機能する可能性があります:
- $ match 既存の$geoWithinクエリを使用するステージ。
- $ sort
relevance: -1
で並べ替えるステージ
これがどのように見えるかの例です:
db.foo.aggregate(
{$match: { "loc": {"$geoWithin":{"$box":[[-103,10.1],[-80.43,30.232]]}} }},
{$sort: {relevance: -1}}
);
どうなるかわかりません。ただし、MongoDB 2.4では不十分な場合でも、2.6には改善された集計ソートパフォーマンス 。