लॉग में क्वेरी उस क्वेरी से मेल नहीं खाती जिसे आप चलाते हैं, स्थान भिन्न है:
[ 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' }
पर एक मिश्रित कुंजी के साथ बेहतर हो सकते हैं ।