ऐसा इसलिए है क्योंकि आप bcoded_metadata
. के लिए एक विरल अनुक्रमणिका का उपयोग करते हैं . यदि आपके पास bcoded_metadata पर एक विरल अनुक्रमणिका है, तो अनुक्रमणिका में वे दस्तावेज़ नहीं होंगे जिनमें bcoded_metadata
फ़ील्ड नहीं है . बिना bcoded_metadata
के दस्तावेज़ फ़ील्ड आपकी मूल क्वेरी का हिस्सा नहीं हैं, और इसलिए "गिनती" 0 वापस आ जाएगी।
यदि आप केवल खोज चलाते हैं:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
तो आपको कोई परिणाम भी नहीं मिलेगा। आप या तो एक गैर-विरल अनुक्रमणिका का उपयोग कर सकते हैं, या db.ts.count();
के साथ पूर्ण गणना कर सकते हैं और db.ts.find({"bcoded_metadata" : { "$exists" : true } })
का परिणाम घटाएं परिणाम।
एक JIRA टिकट है जो इसे थोड़ा और समझाता है, और अगर MongoDB को इसके लिए कोई त्रुटि/चेतावनी संदेश प्राप्त होता है तो इसे ट्रैक किया जा सकता है:https://jira.mongodb.org/browse/SERVER-3918