कंपाउंड इंडेक्स के साथ जहां अनुक्रमित फ़ील्ड में से एक सरणी है, MongoDB केवल सही मिलान लौटाए जाने के लिए रेंज क्वेरी के लिए निचले या ऊपरी बाउंड का उपयोग करेगा। देखें SERVER-958 एक उदाहरण के लिए जहां ऊपरी और निचले दोनों सूचकांक सीमाओं के लिए बाध्य करने से अपेक्षित दस्तावेज़ नहीं मिलेगा।
यदि आपकी श्रेणी क्वेरी सरणी फ़ील्ड पर है तो आप संभावित रूप से $elemMatch
अपेक्षित अनुक्रमणिका सीमाओं के भीतर आपकी क्वेरी को अनुकूलित करने के लिए ऑपरेटर। MongoDB 2.4 की तरह, $elemMatch
ऑपरेटर गैर-सरणी फ़ील्ड पर काम नहीं करता है इसलिए दुर्भाग्य से यह आपके उपयोग के मामले में मदद नहीं करता है। आप देख सकते हैं/अपवोट कर सकते हैं MongoDB इश्यू ट्रैकर में।
एक खुला मुद्दा भी है SERVER-7959:कुछ फ़ील्ड बहु-कुंजी होने पर कंपाउंड इंडेक्स के साथ संभावित रूप से अनपेक्षित स्कैन इस व्यवहार का वर्णन करना।