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

MongoDB + C# ड्राइवर + तत्वों की क्वेरी सरणी जहां प्रत्येक सरणी तत्व में क्वेरी करने के लिए उप-दस्तावेज़ होता है

इसके बजाय इसे आजमाएं

Query.ElemMatch("Children", Query.And(Query.EQ("StatusId",1), Query.EQ("Active",true),Query.LT("SubChild.ExpiresOn",DateTime.UtcNow)));

आश्चर्य है कि यह क्वेरी जादुई रूप से क्यों काम करती है? यह मामला है (StatusId बनाम StatusID ) जावास्क्रिप्ट केस संवेदनशील है।

आप दृढ़ता से टाइप की गई लिंक क्वेरी का उपयोग करके इस समस्या को समाप्त कर सकते हैं, जैसे:

from x in collection.AsQueryable()
where x.Children.Any(child => 
    child.StatusId == 1 
    && child.Active 
    && child.SubChild.ExpiresOn < DateTime.UtcNow)
select x



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं MongoDB में किसी ऑब्जेक्ट को आंशिक रूप से कैसे अपडेट करूं ताकि नई ऑब्जेक्ट मौजूदा के साथ ओवरले/विलय हो जाए

  2. सी # के लिए सबसे परिपक्व मोंगोडीबी ड्राइवर क्या है?

  3. MongoDB चेंज स्ट्रीम के साथ गंभीर प्रदर्शन में गिरावट

  4. MongoDB प्रतिकृति सेट के लिए AppArmor को कैसे कॉन्फ़िगर करें?

  5. MongoDB में $अनविंड ऑपरेटर क्या है?