मुझे यकीन नहीं है कि यह MongoDB 2.6 में एक बग है, लेकिन आप यह लेख अनुक्रमणिका निर्माण के बारे में।
तो उस सलाह का पालन करते हुए, आप इस अनुक्रमणिका के साथ प्रयास कर सकते हैं:
$col->ensureIndex(array('owner' => 1, 'ca' => -1));
$col->ensureIndex(array('ca' => -1, 'owner' => 1, 'perm.type' => 1));
$col->ensureIndex(array('perm.list' => 1, 'ca' => -1, 'owner' => 1));
संपादित करें:
आपकी व्याख्या से, यदि आप छोटे डेटा सेट पर परीक्षण कर रहे हैं, तो पूर्ण संग्रह तेज़ है क्योंकि MongoDB को बहुत सारे दस्तावेज़ों से गुजरने की आवश्यकता नहीं है। वास्तविक अंतर देखने के लिए आपको उदाहरण के लिए 10000 दस्तावेजों के साथ एक परीक्षण करने का प्रयास करना चाहिए। अनुक्रमणिका में आपके फ़ील्ड के मान आपके प्रश्नों के लिए अनुक्रमणिका चयनात्मकता सुनिश्चित करने के लिए पर्याप्त भिन्न होने चाहिए (उदा. सभी दस्तावेज़ एक ही स्वामी के नहीं हैं)।