Можете да опитате агрегацията по-долу:
ChoreChart.aggregate([
{ "$match": { "affiliation": affiliation, "year": week.year, "weekNumber": week.number } },
{
$addFields: {
chart: {
$filter: {
input: "$chart",
cond: { $eq: [ "$$this.ordinal", 2 ] }
}
}
}
}
])
$addFields
замества съществуващо поле и $filter
филтрира вътрешния масив. Освен това от вашия ordinal
е число, което също трябва да посочите число, а не низ в заявката си.