Group by and count

i have a document structure like this

image

and i tried this query

  {
    $group: {
      _id: {
        item: "$item",
        status: "$status"
      },
      itemCount: {
        $sum: 1
      }
    }
  }
])

i got this result  

[
  {
    "_id": {
      "item": "I1",
      "status": "active"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I5",
      "status": "disable"
    },
    "itemCount": 2
  },
  {
    "_id": {
      "item": "I4",
      "status": "unactive"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I2",
      "status": "active"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I4",
      "status": "active"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I3",
      "status": "active"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I2",
      "status": "un-active"
    },
    "itemCount": 1
  },
  {
    "_id": {
      "item": "I2",
      "status": "disable"
    },
    "itemCount": 1
  }
]```

which is fine but i want it to be in different way like this ..
 
  {
    "_id": {
      "item": "I1",
      "active": {"itemCount": 1},
      "disable":{"itemCount:3"},
      "un-active":{"item:4"},
      "total":{itemCount:8}
    },
  },
  {
    "_id": {
      "item": "I2",
      "active": {"itemCount": 1},
      "disable":{"itemCount:3"},
      "un-active":{"item:4"},
      "total":{itemCount:8}
    },
  },
  ]```

Kindly help …

Please read Formatting code and log snippets in posts and publish your sample document in textual JSON so that we can cut-n-paste them into our system.

1 Like

But for starters, you may play with this code in the link below