Mongodb 如何编写Mongo聚合以在数组中按元素排序
以下是一个例子:Mongodb 如何编写Mongo聚合以在数组中按元素排序,mongodb,sorting,aggregation-framework,Mongodb,Sorting,Aggregation Framework,以下是一个例子: {_id: 111, sort: [{order:1}, {order:3}]} {_id: 222, sort: [{order:2}, {order:5}]} {_id: 333, sort: [{order:1}, {order:3}, {order:4}]} 我想按排序。从大到小排序,然后 {_id: 222, sort: {order:5}} {_id: 333, sort: {order:4}} {_id: 111, sort: {order:3}} 您需要与他
{_id: 111, sort: [{order:1}, {order:3}]}
{_id: 222, sort: [{order:2}, {order:5}]}
{_id: 333, sort: [{order:1}, {order:3}, {order:4}]}
我想按排序。从大到小排序,然后
{_id: 222, sort: {order:5}}
{_id: 333, sort: {order:4}}
{_id: 111, sort: {order:3}}
您需要与他们联系以确定哪一个具有最高值,然后将其分组以仅获取一个:
db.col.aggregate([
{ $unwind: "$sort" },
{ $sort: { "sort.order": -1 } },
{
$group: {
_id: "$_id",
sort: { $first: "$sort" }
}
},
{ $sort: { "sort.order": -1 } },
])
您需要与他们联系以确定哪一个具有最高值,然后将其分组以仅获取一个:
db.col.aggregate([
{ $unwind: "$sort" },
{ $sort: { "sort.order": -1 } },
{
$group: {
_id: "$_id",
sort: { $first: "$sort" }
}
},
{ $sort: { "sort.order": -1 } },
])