Bạn có thể sử dụng $filter
nhà điều hành,
-
$filter
để lọcEvaluations
mảng trên cơ sở củaStatus
-
$max
để nhận đượcEvaluatedAt
mới nhất kết quả lọc biểu mẫu
db.collection.aggregate([
{
$addFields: {
lastSent: {
$let: {
vars: {
filtered: {
$filter: {
input: "$Evaluations",
cond: { $eq: ["$$this.Status", "triggered"] }
}
}
},
in: { $max: "$$filtered.EvaluatedAt" }
}
}
}
},
{ $sort: { lastSent: 1 } },
{ $project: { lastSent: 0 } }
])