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

शर्त के साथ समूह और गिनती

आपको जो चाहिए वह है $cond एकत्रीकरण ढांचे के ऑपरेटर। आप जो चाहते हैं उसे पाने का एक तरीका यह होगा:

db.foo.aggregate([
    {
        $project: {
            item: 1,
            lessThan10: {  // Set to 1 if value < 10
                $cond: [ { $lt: ["$value", 10 ] }, 1, 0]
            },
            moreThan10: {  // Set to 1 if value > 10
                $cond: [ { $gt: [ "$value", 10 ] }, 1, 0]
            }
        }
    },
    {
        $group: {
            _id: "$item",
            countSmaller: { $sum: "$lessThan10" },
            countBigger: { $sum: "$moreThan10" }
        }
    }
])

नोट: मैंने मान लिया है value स्ट्रिंग के बजाय संख्यात्मक के लिए।

आउटपुट:

{
        "result" : [
                {
                        "_id" : "xyz1",
                        "countSmaller" : 1,
                        "countBigger" : 0
                },
                {
                        "_id" : "abc1",
                        "countSmaller" : 2,
                        "countBigger" : 2
                }
        ],
        "ok" : 1
}  


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में एक उप-दस्तावेज़ को कैसे अपडेट करें

  2. MongoDB दिनांक को स्ट्रिंग में परिवर्तित कर रहा है

  3. मैं Mongoose में किसी दस्तावेज़ को कैसे अपडेट/अपर्ट करूँ?

  4. कई क्षेत्रों द्वारा mongodb समूह मान

  5. PHP और MongoDB के साथ शुरुआत करना