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

MongoAlchemy क्वेरी एम्बेडेड दस्तावेज़

मोंगो उप-दस्तावेजों को वापस करने का समर्थन नहीं करता है। आप फ़िल्टर करने के लिए $elemMatch का उपयोग कर सकते हैं ताकि केवल मिलान विशेषताओं वाले दस्तावेज़ लौटाए जा सकें, लेकिन आपको टिप्पणियों को स्वयं प्राप्त करना होगा। आप केवल टिप्पणी फ़ील्ड को निम्नानुसार लौटाकर थोड़ा अनुकूलित कर सकते हैं:

query = Book.query.filter({Book.comments:{'$elemMatch':{Comment.user_id:'user_c'}}})
query = query.fields(Book.comments.elem_match({Comment.user_id:'user_c'}))
result = query.limit(1).first()
print 'query result:', result.comments

ध्यान दें कि इसके साथ 0.14.3 तक एक बग था (जिसे मैंने अभी कुछ मिनट पहले जारी किया था) जिसके कारण results.comments काम नहीं कर सकता था।

एक और बहुत महत्वपूर्ण नोट यह है कि मैं वहां जो elem_match कर रहा हूं वह केवल पहला मिलान करने वाला तत्व देता है। यदि आप सभी मेल खाने वाले तत्वों को चाहते हैं तो आपको उन्हें स्वयं फ़िल्टर करना होगा:

query = Book.query.filter({Book.comments:{'$elemMatch':{Comment.user_id:'user_c'}}})
result = query.limit(1).first()
print 'query result:', [c for c in result.comments if c.user_id == 'user_c']



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नोड मोंगोडब:त्रुटि:पार्सर के कारण कनेक्शन बंद हो गया

  2. IdMemberMap प्रतिनिधित्व क्रमांकन विकल्प का उपयोग कर रिक्त है

  3. तारीख की स्थिति पर नेवला क्वेरी का कोई परिणाम नहीं है, MongoDB शेल वर्क्स

  4. नोड्स पासपोर्ट त्रुटि:अज्ञात प्रमाणीकरण रणनीति स्थानीय-लॉगिन

  5. केवल प्रदान की गई कुंजियों के लिए नेवला दस्तावेज़ के नेस्टेड ऑब्जेक्ट को कैसे अपडेट करें