MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो $ मौजूद है क्वेरी सही दस्तावेज़ नहीं लौटाती है

ऐसा इसलिए है क्योंकि आप 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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक मोंगोडब भौगोलिक स्थान क्वेरी में $maxDistance तर्क के रूप में ऑब्जेक्ट प्रॉपर्टी का उपयोग करना

  2. नेवला स्कीमा में create_at और update_at फ़ील्ड जोड़ें

  3. त्रुटि कोड 13 और त्रुटि संदेश के साथ क्वेरी विफल रही 'कमांड निष्पादित करने के लिए [डीबी] पर अधिकृत नहीं है {ढूंढें:

  4. प्रमाणीकरणडेटाबेस व्यवस्थापक के बिना एक मोंगोडब उदाहरण से कनेक्ट करें

  5. MVC.net में MongoDB से ObjectId कैसे पास करें?