क्या आपने एकत्रीकरण ढांचे का उपयोग करने का प्रयास किया है?
दो चरणों वाली पाइपलाइन काम कर सकती है:
- एक $मिलान चरण जो आपके मौजूदा $geoWithin क्वेरी का उपयोग करता है।
- एक $सॉर्ट चरण जो
relevance: -1
. के आधार पर छाँटता है
यह कैसा दिखाई दे सकता है, इसका एक उदाहरण यहां दिया गया है:
db.foo.aggregate(
{$match: { "loc": {"$geoWithin":{"$box":[[-103,10.1],[-80.43,30.232]]}} }},
{$sort: {relevance: -1}}
);
मुझे यकीन नहीं है कि यह कैसा प्रदर्शन करेगा। हालांकि, भले ही यह MongoDB 2.4 के साथ खराब है, यह 2.6/2.5 में नाटकीय रूप से भिन्न हो सकता है, क्योंकि 2.6 में बेहतर एग्रीगेशन सॉर्ट परफॉर्मेंस ।