Query to $unwind $group and $match with mongo db

I am trying to find solution to this query, I am using $group, $match.

This would be the collection:

PlayerTournament: [
    {
      "_id": 1,
      "Name": "John Aims",
      "Gender": "M",
      "DoB": ISODate("1990-01-01T00:00:00Z"),
      "Nationality": "USA",
      "Hand": "R",
      "YearTurnedPro": 2010,
      "Tournament": [
        {
          "TournamentYear": 2016,
          "TournamentCode": "GS1",
          "Position": 8,
          "PrizeMoney": 125000,
          "RankingPoints": 250
        },
        {
          "TournamentYear": 2019,
          "TournamentCode": "GS4",
          "Position": 2,
          "PrizeMoney": 625000,
          "RankingPoints": 1000
        },
        {
          "TournamentYear": 2021,
          "TournamentCode": "GS3",
          "Position": 4,
          "PrizeMoney": 312500,
          "RankingPoints": 500
        }
      ]
    },
    {
      "_id": 2,
      "Name": "George Brown",
      "Gender": "M",
      "DoB": ISODate("1997-03-04T00:00:00Z"),
      "Nationality": "GB",
      "Hand": "L",
      "YearTurnedPro": 2013,
      "Tournament": [
        {
          "TournamentYear": 2016,
          "TournamentCode": "GS1",
          "Position": 4,
          "PrizeMoney": 250000,
          "RankingPoints": 500
        },
        {
          "TournamentYear": 2019,
          "TournamentCode": "GS3",
          "Position": 2,
          "PrizeMoney": 625000,
          "RankingPoints": 1000
        }
      ]
    },
    {
      "_id": 3,
      "Name": "Kate Upson",
      "Gender": "F",
      "DoB": ISODate("1999-12-07T00:00:00Z"),
      "Nationality": "GB",
      "Hand": "L",
      "YearTurnedPro": 2013,
      "Tournament": [
        {
          "TournamentYear": 2016,
          "TournamentCode": "GS1",
          "Position": 1,
          "PrizeMoney": 1000000,
          "RankingPoints": 2000
        },
        {
          "TournamentYear": 2019,
          "TournamentCode": "GS1",
          "Position": 4,
          "PrizeMoney": 250000,
          "RankingPoints": 500
        },
        {
          "TournamentYear": 2020,
          "TournamentCode": "GS4",
          "Position": 2,
          "PrizeMoney": 625000,
          "RankingPoints": 1000
        },
        {
          "TournamentYear": 2017,
          "TournamentCode": "GS2",
          "Position": 2,
          "PrizeMoney": 625000,
          "RankingPoints": 1000
        }
      ]
    },
    {
      "_id": 4,
      "Name": "Mary Bones",
      "Gender": "F",
      "DoB": ISODate("1998-10-04T00:00:00Z"),
      "Nationality": "AUSTRALIA",
      "Hand": "L",
      "YearTurnedPro": 2015,
      "Tournament": [
        {
          "TournamentYear": 2018,
          "TournamentCode": "GS3",
          "Position": 1,
          "PrizeMoney": 1250000,
          "RankingPoints": 2000
        },
        {
          "TournamentYear": 2019,
          "TournamentCode": "GS2",
          "Position": 2,
          "PrizeMoney": 625000,
          "RankingPoints": 1000
        }
      ]
    },
    {
      "_id": 5,
      "Name": "Yuri Roza",
      "Gender": "M",
      "DoB": ISODate("2000-05-11T00:00:00Z"),
      "Nationality": "BELARUS",
      "Hand": "R",
      "YearTurnedPro": 2018,
      "Tournament": [
        {
          "TournamentYear": 2020,
          "TournamentCode": "GS4",
          "Position": 4,
          "PrizeMoney": 250000,
          "RankingPoints": 500
        },
        {
          "TournamentYear": 2018,
          "TournamentCode": "GS2",
          "Position": 4,
          "PrizeMoney": 312500,
          "RankingPoints": 500
        }
      ]
    }
  ]

This is what I tried.

db.PlayerTournament.aggregate([
  {
    "$unwind": "$Tournament"
  },
  {
    $match: {
      "Tournament.TournamentYear": {
        $gte: 2020
      }
    }
  },
  {
    "$group": {
      "_id": {
        Name: "$Name"
      },
      "total_qty": {
        "$sum": "$Tournament.PrizeMoney"
      }
    }
  }
])

I am getting all the player that have won something after the year 2020.

I am looking to select the players’ name of those that won more than 500000 (prizemoney) after the year 2020.

Could you please mark your other related thread as solved before doing a followup post?

To get only specific elements of an array, use $filter rather than $unwind and $group. That is much more efficient.

But if you only $filter to get a sum on the filtered element, you should be using $reduce as proposed in your other thread.