आप MongoDB 2.6.1 या उच्चतर का उपयोग कर रहे हैं क्योंकि आप जिस कोड को देख रहे हैं, वह जिरा-13666 मुद्दा।
समस्या यह थी कि सीमा से बाहर लेगेसी निर्देशांक के साथ कॉल करने पर कुछ $निकट क्वेरी MongoDB सर्वर को क्रैश कर देगी।
आप शायद ऐसे निर्देशांक भेज रहे हैं जो सीमा से बाहर हैं। कोड का वह भाग जो अधिकतम दूरी के साथ $नियर क्वेरी करते समय देशांतर और अक्षांश की जाँच करता है (GeoParser::parsePointWithMaxDistance
में विधि ):
bool isValidLngLat(double lng, double lat) {
return lat >= -90 && lat <= 90 && lng >= -180 && lng <= 180;
}
यदि निर्देशांक सीमा से बाहर हैं centroid.flatUpgradedToSphere
गलत होगा और इससे आपको प्राप्त होने वाली त्रुटि होगी।
आपको या तो अपने निर्देशांक को सीमा में बदलने के लिए बदलना चाहिए या spherical
. सेट करना चाहिए इस त्रुटि से बचने के लिए पैरामीटर गलत है।
Query.Near("Location", location.Geography.Longitude,
location.Geography.Latitude, location.Radius / 6371000, false)