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

MongoDB अलग मूल्य की गणना करता है?

जबकि .distinct() किसी फ़ील्ड के लिए विशिष्ट मान प्राप्त करने के लिए अच्छी तरह से काम करता है, वास्तव में घटनाओं की संख्या प्राप्त करने के लिए, यह एकत्रीकरण ढांचे के लिए बेहतर अनुकूल है:

Collection.aggregate([
    { "$group": {
        "_id": "$field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

साथ ही .distinct() विधि "सार" करती है जहां से निर्दिष्ट "विशिष्ट" फ़ील्ड वास्तव में एक सरणी के भीतर है। इस मामले में आपको $unwind . पर कॉल करने की आवश्यकता है सरणी तत्वों को यहां संसाधित करने के लिए सबसे पहले:

Collection.aggregate([
    { "$unwind": "$array" },
    { "$group": {
        "_id": "$array.field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

तो मुख्य काम मूल रूप से $group . में किया जाता है क्षेत्र मूल्यों पर "समूहीकरण" द्वारा, जिसका अर्थ "विशिष्ट" जैसा ही है। $sum एक ग्रुपिंग ऑपरेटर है जो इस मामले में सिर्फ 1 जोड़ता है उस संग्रह के लिए फ़ील्ड में उस मान की प्रत्येक घटना के लिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या मोंगोडीबी में संग्रह का नाम रखने के लिए कोई सम्मेलन है?

  2. मोंगोडब आईडी से टाइमस्टैम्प प्राप्त करना

  3. MongoDB:किसी नेस्टेड दस्तावेज़ के अंदर किसी आईडी द्वारा दस्तावेज़ कैसे खोजें

  4. स्वचालित डेटाबेस स्वास्थ्य जांच

  5. मौजूदा संग्रह में नया सत्यापनकर्ता जोड़ें