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

MongoDB - एक परिणाम में एक आंतरिक सरणी की सामग्री को फ़िल्टर करना

आप MongoDB . के एकत्रीकरण ढांचे का उपयोग कर सकते हैं .

अगर आपके संग्रह में कोई दस्तावेज़ है जैसे;

{
 "URL": "www.stackoverflow.com",
 "TAGS": [
         {"NAME": "question", "VOTES": 3},
         {"NAME": "answer", "VOTES": 5},
         {"NAME": "problem", "VOTES": 2}
         ]
}

और आप सरणी के कुछ तत्वों को फ़िल्टर करना चाहते हैं, आप एकत्रीकरण नमूने का उपयोग कर सकते हैं;

db.sof_table.aggregate
([
{$unwind:'$TAGS'}, 
{$match:{'TAGS.NAME':{$in:['answer','question']}}},
{$group:{_id:'$URL',TAGS:{$push:'$TAGS'}}}
])

इसका परिणाम होगा;

{
    "result" : [
        {
            "_id" : "www.stackoverflow.com",
            "TAGS" : [
                {
                    "NAME" : "question",
                    "VOTES" : 3
                },
                {
                    "NAME" : "answer",
                    "VOTES" : 5
                }
            ]
        }
    ],
    "ok" : 1
}

आपके अपेक्षित परिणाम के रूप में।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. SQL में अग्रणी शून्य जोड़ें

  2. Mongodb $ जहां नोडज के साथ क्वेरी हमेशा सच होती है

  3. MongoDB में दिनांक को कैसे प्रारूपित करें

  4. स्प्रिंग डेटा MongoDB का परिचय

  5. मैक पर मोंगोडब डेटाबेस का स्थान