我的mongodb文件为:
{
"_id":"fnbgfbmkgmbkgmbklhn",
"data":[
{
"item":"ITEM1",
"date":ISODate("2016-09-06T13:38:44.714Z")
},
{
"item":"ITEM2",
"date":ISODate("2016-09-06T13:50:44.714Z")
},
{
"item":"ITEM3",
"date":ISODate("2016-09-06T13:45:44.714Z")
}
]
}
本文档是 db.collectionName.aggregate(....)的结果。应用聚合后,如何根据" date"进行排序。
答案 0 :(得分:3)
您可以展开data
数组,按data.date
对结果进行排序,然后再按_id
对其进行分组:
[
{$unwind: {path: "$data"}},
{$sort: {"data.date": -1}},
{$group: {_id: "$_id", data: {$push: {item: "$data.item", date: "$data.date"}}}}
]
将这些阶段合并到现有的聚合管道中而不是仅仅附加它们可能更有效。