How do i Aggregate(group) the name of the employees in DevOps that are older than 32

How do i Aggregate the name of the employees in DevOps that are older than 32?

{ "name":"Loreen","dept":"QA","languages":["german","french","english","Hebrew"], "age":30, "expYears":10 }
{ "name":"Michael","dept":"QA","languages":["english","Hebrew"],"age":35, "expYears":11 }
{ "name":"Jack","dept":"DevOps","languages":["english","Hebrew"],"age":36, "expYears":14 }
{ "name":"Emma","dept":"DevOps","languages":["Hebrew"],"age": 31, "expYears":4 }
{ "name":"Stephan","dept":"HR","languages":["english", "Hebrew", "spanish"],"age":26, "expYears":3 }
{ "name":"John","dept":"HR","languages":["english", "Hebrew", "spanish"],"age":25, "expYears":3 }

Hi @kenan_N_A,
All you need to do is use $match and $group in the following manner:

[
  {
    $match: {
      dept: "DevOps"
    }
  },
  {
    $group: {
      _id: "$dept",
      people: {
        $push: "$name"
      }
    }
  }
]

I hope it helps.

In case you have any doubts, please feel free to reach out to us.

Thanks and Regards.
Sourabh Bagrecha

1 Like

but i need to only display older than 32

Hi @kenan_N_A,
Oops I missed it, here you go:

[
  {
    $match: {
      dept: "DevOps",
      age: { $gt: 32 }
    }
  },
  {
    $group: {
      _id: "$dept",
      people: {
        $push: "$name"
      }
    }
  }
]

I hope it helps.

In case you have any doubts, please feel free to reach out to us.

Thanks and Regards.
Sourabh Bagrecha

3 Likes

great it works thank u alot

1 Like

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.