मैं चाहता था कि मेरा आउटपुट जेसन नीचे जैसा दिखे,

[ {
        "_id": "IT",
        "count 1": 1,
        "count 2": 1,

    },
    {
        "_id": "CSE",
        "count1": 1,
        "count2": 2,

    },


]

मैंने नेवला में नीचे दी गई क्वेरी की कोशिश की

{
            $match: {


                riskstatus: { $in: ["Closed", "Deffered"] },
                riskstatus: { $in: [ "Open"] },
            }
        },

        {

            "$group": {
                "_id": "$phase",
                "count1": { "$sum": 1 },
               "count2": { "$sum": 1 },

            },

        }


मेरा इनपुट संग्रह है {"_id":"5df5ca73bb1c4526948e2421",,"comment":"test",,"status":"Open",,"phase":"CSE"}, {"_id":"5df5ca73bb1c4526948e2422",,"comment" :"परीक्षण", "स्थिति": "बंद", "चरण": "आईटी"} {"_id": "5df5ca73bb1c4526948e2422", "टिप्पणी": "परीक्षण", "स्थिति": "बंद", "चरण": "CSE"} {"_id":"5df5ca73bb1c4526948e2422", "टिप्पणी": "परीक्षण", "स्थिति": "ओपन", "चरण": "आईटी"} {"_id": "5df5ca73bb1c4526948e2422", "टिप्पणी": "परीक्षण", "स्थिति": "खुला", "चरण": "सीएसई"} -

इस परिणाम को प्राप्त करने के लिए उपरोक्त मिलान शर्त के साथ एक ही समूह के लिए दो गणना मान कैसे प्राप्त करें?

नवीनतम मैंने कोशिश की है

Risk.aggregate([
        { $match: { $or: [ { status: {$in: ["Closed", "Deffered"]} }, { status: {$in: ["Open"] } } ] } },


        {

            "$group": {
                "_id": "$phase",
                " count1": { "$sum": 1 },
                "count2": { "$sum": 1 },

            },

        }
0
Priya Balasubramanian 18 पद 2019, 20:59
कृपया अपना अनुरोध डेटा और प्रतिक्रिया डेटा ऑनलाइन json संपादक पर साझा करें ??
 – 
Mahesh Bhatnagar
18 पद 2019, 21:02
कृपया आउटपुट को jsoneditoronline.org पर साझा करें
 – 
Mahesh Bhatnagar
19 पद 2019, 07:56
 – 
Priya Balasubramanian
19 पद 2019, 08:03
कृपया बताएं कि आईटी मूल्य 3 की गणना कैसे करें लेकिन डेटा को आईटी की केवल 2 गणना दें?
 – 
Mahesh Bhatnagar
19 पद 2019, 08:06
1
मैंने अपडेट किया। कृपया अभी देखें jsoneditoronline.org/?id=a85657ec8598488abfaefefcebc5ec33
 – 
Priya Balasubramanian
19 पद 2019, 08:19

1 उत्तर

कृपया उस क्वेरी का उपयोग करें

     db.posts.aggregate(
    {
        $group: {
            _id: { 'id': '$phase', 'status': '$status' },
            count_1: { '$sum': 1 },
        }
    },
    { $project: { '_id': 0, 'depart': '$_id.id', 'status': '$_id.status', 'count_1': 1 } }
    , {
        $group: {
            _id: '$depart',
            data: {
                '$push': {
                    'depart': '$depart',
                    'count_1': {
                        $cond: [{ $eq: ["$status", 'Open'] }, '$count_1', 0]
                    },
                    'count_2': {
                        $cond: [{ $eq: ["$status", 'Closed'] }, '$count_1', 0]
                    }
                    ,
                    'count_3': {
                        $cond: [{ $eq: ["$status", 'Deffered'] }, '$count_1', 0]
                    }

                },
            }
        }
    },
      { $project: 
      {'name':'$_id','_id':0, 
      openCount: { $max: "$data.count_1"}, 
      Othercount: {  
          $add:[ 
              {$max: "$data.count_2"},
              {$max: "$data.count_3"}]

      } 

      }}

)
0
Mahesh Bhatnagar 19 पद 2019, 12:51