Sử dụng $min và $max trong $project của aggregate để tính min/max của mảng trường con.
Tạo collection demo286:
> db.demo286.insertOne({"details":[{"Value1":70,"Value2":50},{"Value1":30,"Value2":36}]});
Pipeline project tính MinValue1 từ details.Value1, MaxValue2 từ details.Value2:
> db.demo286.aggregate([
{$project: {
"name":1,
"MinValue1":{$min:"$details.Value1"},
"MaxValue2":{$max:"$details.Value2"}
}}
])
Kết quả: MinValue1=30, MaxValue2=50:
{
"_id" : ObjectId("5e4ac743f49383b52759cbbc"),
"MinValue1" : 30,
"MaxValue2" : 50
}