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

पायमोंगो- रेगेक्स द्वारा संग्रह से उप-दस्तावेज़ों का चयन करना

आपको एक एकत्रीकरण पाइपलाइन की आवश्यकता है जो प्रत्येक उप-दस्तावेज़ से अलग से मेल खाती है, फिर मिलान करने वाले उप-दस्तावेज़ों को सरणियों में फिर से जोड़ती है:

from pprint import pprint
from bson import Regex

regex = Regex(r'ab')
pprint(list(col.aggregate([{
    '$unwind': '$docs'
}, {
    '$match': {'docs.value': regex}
}, {
    '$group': {
        '_id': '$_id',
        'docs': {'$push': '$docs'}
    }
}])))

मुझे लगता है कि "कॉल" आपके पायमोंगो संग्रह ऑब्जेक्ट को इंगित करने वाला एक चर है। यह आउटपुट:

[{u'_id': u'1', 
  u'docs': [{u'key': u'5678', u'value': u'abgh'}]},
 {u'_id': u'0',
  u'docs': [{u'key': u'1234', u'value': u'abcd'},
            {u'key': u'5678', u'value': u'abef'}]}]

स्ट्रिंग के लिए "आर" उपसर्ग इसे रेगेक्स कोड के साथ किसी भी परेशानी से बचने के लिए एक पायथन "कच्चा" स्ट्रिंग बनाता है। इस मामले में रेगेक्स सिर्फ "एबी" है इसलिए "आर" उपसर्ग आवश्यक नहीं है, लेकिन अब यह अच्छा अभ्यास है ताकि आप भविष्य में कोई गलती न करें।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला एसएसएल, कनेक्शन स्वीकार नहीं किया गया

  2. देश के अनुसार फ़िल्टर करें और नेवला का उपयोग करके मुफ्त टेक्स्ट सर्च मोंगोडब

  3. मोंगो - संपत्ति को बने रहने से अनदेखा करें

  4. MongoDB जावा में डालने की विफलता को संभालता है

  5. MongoDB सभी प्रश्नों को लॉग कर रहा है