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

MongoDB प्रत्येक सरणी तत्वों के लिए दस्तावेज़ों की गणना करता है

आप $unwind कर सकते हैं प्रति तत्व एकल दस्तावेज़ प्राप्त करने के लिए अपनी सरणी और फिर चलाएं $group तत्वों की गणना करने के लिए:

db.collection.aggregate([
    {
        $unwind: "$elements"
    },
    {
        $group: {
            _id: "$elements",
            count: { $sum: 1 }
        }
    }
])

संपादित करें:आप $replaceRoot और $arrayToObject अपने आईडी को कुंजी के रूप में वापस करने के लिए और मूल्यों के रूप में गिना जाता है:

db.collection.aggregate([
    {
        $unwind: "$elements"
    },
    {
        $group: {
            _id: "$elements",
            count: { $sum: 1 }
        }
    },
    {
        $group: {
            _id: null,
            counts: { $push: { k: "$_id", v: "$count" } }
        }
    },
    {
        $replaceRoot: {
            newRoot: { $arrayToObject: "$counts" }
        }
    }
])

मोंगो खेल का मैदान




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला अद्यतन:$inc upsert में काम नहीं कर रहा है

  2. आईडी के आधार पर दो लेयर नेस्टेड ऑब्जेक्ट को अपडेट करें

  3. संपत्ति पाइपलाइन के लिए मेरा ऐप तैयार करने के लिए हेरोकू मेरी संपत्तियों को पूर्व-संकलित नहीं कर रहा है

  4. mongo.so:> अपरिभाषित प्रतीक:php_json_encode अज्ञात में लाइन 0 पर। स्थापना के बाद php के लिए mongo ड्राइवर

  5. मोंगोडब में समूह के साथ मैक्स () का चयन करें