लॉग में क्वेरी उस क्वेरी से मेल नहीं खाती जिसे आप चलाते हैं, स्थान भिन्न है:
[ 116.3426399230957, 39.95959281921387 ] बनाम.[ 116.3175773620605, 39.97607231140137 ]
मुझे यह भी नहीं लगता कि आपने अपनी पूरी लॉग लाइन को पुन:प्रस्तुत किया है, क्योंकि इसमें सिर्फ area का उल्लेख है और नहीं deliver_area ।
हालांकि, वे वास्तव में धीमे नहीं हैं . पहले मामले में, इसमें 103ms लगे, जो कुछ मामलों में हो सकता है क्योंकि आपका सर्वर अन्य IO कर रहा है। दूसरी क्वेरी में explain() . के रूप में 5ms लगे आउटपुट आपको बताता है।
लेकिन सबसे खास बात यह है कि आपका मुख्य मानदंड id: 59 . है . मुझे नहीं पता कि आपका _id क्या है फ़ील्ड है, लेकिन अगर आप id . पर एक इंडेक्स सेट करते हैं तो इसे 2dsphere . का उपयोग भी नहीं करना चाहिए अनुक्रमणिका बिल्कुल - जब तक कि आपके पास निश्चित रूप से कई दस्तावेज़ न हों जहाँ id=59 . उस स्थिति में, आप { id: 1, deliver_area: '2dsphere' } पर एक मिश्रित कुंजी के साथ बेहतर हो सकते हैं ।