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

क्या मोंगोडीबी एकत्रीकरण ढांचा $ समूह मूल्यों की एक सरणी लौटा सकता है?

एग्रीगेशन फ्रेमवर्क के साथ मूल्यों की एक सरणी में दो क्षेत्रों का संयोजन संभव है, लेकिन निश्चित रूप से उतना सीधा नहीं है जितना हो सकता है (कम से कम MongoDB 2.2.0 पर)।

यहां एक उदाहरण दिया गया है:

db.metrics.aggregate(

    // Find matching documents first (can take advantage of index)
    { $match : {
        'array_serial' : array, 
        'port_name' : { $in : ports},
        'datetime' : { $gte : from, $lte : to}
    }},

    // Project desired fields and add an extra $index for # of array elements
    { $project: {
        port_name: 1,
        datetime: 1,
        metric: 1,
        index: { $const:[0,1] }
    }},

    // Split into document stream based on $index
    { $unwind: '$index' },

    // Re-group data using conditional to create array [$datetime, $metric]
    { $group: {
        _id: { id: '$_id', port_name: '$port_name' },
        data: {
            $push: { $cond:[ {$eq:['$index', 0]}, '$datetime', '$metric'] }
        },
    }},

    // Sort results
    { $sort: { _id:1 } },

    // Final group by port_name with data array and count
    { $group: {
        _id: '$_id.port_name',
        data: { $push: '$data' },
        count: { $sum: 1 }
    }}
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB बैकअप और MongoDump का उपयोग करके पुनर्स्थापित करें

  2. MongoDB:सर्वर में स्टार्टअप चेतावनियाँ हैं

  3. ओपन सोर्स डेटाबेस को प्रबंधित करने का नया तरीका

  4. java.lang.IncompatibleClassChangeError:कक्षा Mongo लागू करना

  5. क्या MongoDB जर्नलिंग स्थायित्व की गारंटी देता है?