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

MongoDB बच्चों पर छँटाई

आप इसे निम्नलिखित एकत्रीकरण के साथ कर सकते हैं:

db.collection.aggregate(
  [
    {
      $project: {
      group_id : { $cond : { if: { $ne: [ "$parentId", "" ] }, then: "$parentId", else: "$_id" }},
      count :1
      }
    },
    {
      $group: {
      _id : "$group_id",
      total_count : { $sum: "$count" }
      }
    },
    {
      $sort: {
      total_count : -1
      }
    }
  ]
);

सबसे पहले मैं एक अतिरिक्त फ़ील्ड "group_id" प्रोजेक्ट करता हूं जो parentId मान के आधार पर _id या parentId से भरा होता है। group_id फ़ील्ड का उपयोग समूह बनाने और कुल गणना करने के लिए किया जाता है। कुल_गणना पर समूह बनाना अंतिम चरण है।

जब आप mongoDb 3.4 का उपयोग कर रहे हों तो आप $graphLookup देख सकते हैं। लेकिन अभी के लिए मैं आपको पूर्व 3.4 एकत्रीकरण के साथ छोड़ देता हूं;-)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo के साथ संयोजन में उपयोग किए जाने पर PyGame फ्रीज क्यों हो जाता है?

  2. MongodDB $ सरणी से केवल एक तत्व खींचें

  3. अंतिम पुश () एम्बेडेड दस्तावेज़ कैसे वापस करें

  4. नोड में mongoosejs का उपयोग करके कई रिकॉर्ड अपडेट करें

  5. नोड-मोंगोडब-मूल:मैं अपने आवेदन के माध्यम से कनेक्शन कॉलबैक के डीबी एपीआई ऑब्जेक्ट को कैसे साझा कर सकता हूं?