Chúng tôi không thể sắp xếp mảng trực tiếp, nhưng tính năng tổng hợp sẽ giúp ích cho việc này
-
$unwind
giúp gỡ bỏ cấu trúc mảng -
$sort
giúp sắp xếp như bạn muốn -
$group
giúp nhóm lại mảng không có cấu trúc
Tập lệnh Mongo được đưa ra bên dưới
db.collection.aggregate([
{
"$match": {
"serviceAreas.slug": "nashville"
}
},
{
$unwind: "$serviceAreas"
},
{
$sort: {
"serviceAreas.totalClosedSales": -1
}
},
{
$addFields: {
total: "$serviceAreas.totalClosedSales"
}
},
{
$sort: {
total: -1
}
},
{
$group: {
_id: "$_id",
mlsId: {
$first: "$mlsId"
},
firstName: {
$first: "$firstName"
},
lastName: {
$first: "$lastName"
},
slug: {
$first: "$slug"
},
serviceAreas: {
$push: "$serviceAreas"
}
}
}
])
Làm việc Sân chơi Mongo