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

मोंगोडब एकत्रीकरण ढांचा - फ़ंक्शन से _id उत्पन्न करें

MongoDB 2.4 की तरह, आप एग्रीगेशन फ्रेमवर्क में किसी भी कस्टम फ़ंक्शन को लागू नहीं कर सकते। अगर आप $group . करना चाहते हैं यदि आप हर बार गणना नहीं करना चाहते हैं, तो आपको एक या अधिक फ़ील्ड के द्वारा या तो एकत्रीकरण ऑपरेटरों और अभिव्यक्तियों के माध्यम से या एक स्पष्ट अद्यतन () के माध्यम से जोड़ना होगा।

एग्रीगेशन फ्रेमवर्क का उपयोग करके आप एक परिकलित bucket जोड़ सकते हैं $project . में फ़ील्ड $cond के साथ पाइपलाइन चरण ऑपरेटर

यहां numberField . के आधार पर श्रेणियों की गणना करने का एक उदाहरण दिया गया है जिसे तब $group . में इस्तेमाल किया जा सकता है योग/औसत/आदि के लिए पाइपलाइन:

db.data.aggregate(
    { $project: {
        numberfield: 1,
        someotherfield: 1,
        bucket: {
            $cond: [ {$and: [ {$gte: ["$numberfield", 1]}, {$lte: ["$numberfield", 20]} ] }, '1-20', {
            $cond: [ {$lt: ["$numberfield", 41]},  '21-40',  {
            $cond: [ {$lt: ["$numberfield", 61]},  '41-60',  {
            $cond: [ {$lt: ["$numberfield", 81]},  '61-80',  {
            $cond: [ {$lt: ["$numberfield", 101]}, '81-100', '100+' ]
            }]}]}]}]
        }
    }},
    { $group: {
        _id: "$bucket",
        sum: { $sum: "$someotherfield" }
    }}
)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB त्रुटियाँ:mongodb-10gen E:उप-प्रक्रिया /usr/bin/dpkg ने एक त्रुटि कोड लौटाया (1)

  2. नेवला खाली सरणियाँ बना रहा है?

  3. MongoDB डेटा/डीबी नहीं मिला

  4. MongoDB बनाम DynamoDB:आपको क्या जानना चाहिए

  5. संग्रह वस्तु PyMongo के साथ प्रतिदेय त्रुटि नहीं है