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

MongoDB बहु उप-दस्तावेज़ों को फ़िल्टर करता है

वांछित परिणाम प्राप्त करने के लिए निम्नलिखित एकत्रीकरण पाइपलाइन का उपयोग करें:

var pipeline = [
    {
        "$match": {
            "name": "Andre",
            "fruits.active": true,
            "cars.active": true
        }
    },
    { "$unwind": "$fruits" },
    { "$unwind": "$cars" },
    {
        "$match": {            
            "fruits.active": true,
            "cars.active": true
        }
    },
    { 
        "$group": {
            "_id": {
                "_id": "$_id",
                "name": "$name"
            },
            "cars": { "$addToSet" : "$cars" },
            "fruits": { "$addToSet" : "$fruits" }
        }
    },
    {
        "$project": {
            "_id": 0,
            "name": "$_id.name",
            "cars": 1,
            "fruits": 1
        }
    }    
]

m_object.aggregate(pipeline)
        .exec(function (err, result) {
            if (err) {
                console.log(err);
                return;
            }
            console.log('result');
        });

या आप एकत्रीकरण पाइपलाइन का उपयोग कर सकते हैं निर्माता इस प्रकार है:

m_object.aggregate()
        .match({
            "name": "Andre",
            "fruits.active": true,
            "cars.active": true
         })
        .unwind("fruits")
        .unwind("cars")
        .match({
            "fruits.active": true,
            "cars.active": true
         })
        .group({
            "_id": {
                "_id": "$_id",
                "name": "$name"
            },
            "cars": { "$addToSet" : "$cars" },
            "fruits": { "$addToSet" : "$fruits" }
        })
        .project({
            "_id": 0,
            "name": "$_id.name",
            "cars": 1,
            "fruits": 1
        })
        .exec(callback);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError:getaddrinfo ENOTFOUND अपरिभाषित अपरिभाषित:27017

  2. MongoDB - मैं <field_value> के साथ <field_key> के रूप में दस्तावेज़ कैसे वापस कर सकता हूँ?

  3. मोंगोडब में अनसेट के बाद मूल्य शून्य के साथ दायर सरणी को कैसे हटाएं?

  4. स्प्रिंग डेटा मोंगो समय वाले क्षेत्र को वापस क्यों नहीं कर रहा है?

  5. एक चर के लिए क्वेरी खोजने में नेवला परिणाम लौटाएं