我的收藏集中的每个文档看起来都像这样(JSON):
{
name: "Roger",
matches: [
{
opponent: "Rafael Nadal",
match_date: 1494536400000
},
{
opponent: "Nick Kyrgyos",
match_date: 1494557400000
}
]
}
我想提取每个玩家的所有比赛,并使用猫鼬按match_date
对它们进行排序,但是我不知道如何。
您能帮我吗?
答案 0 :(得分:1)
您可以尝试以下聚合
db.collection.aggregate([
{ "$unwind": "$matches" },
{ "$sort": { "matches.match_date": 1 }},
{ "$group": {
"_id": "$_id",
"matches": { "$push": "$matches" }
}},
{ "$limit": 20 },
{ "$project": { "matches": 1, "numberOfMatches": { "$size": "$matches" } }}
])