我的收藏有类似
的项目[{
"username": "xxx",
"wonTournaments": ['111', '123', '1234']
}, {
"username": "xxx2",
"wonTournaments": ['111', '123']
}, {
"username": "xxx3",
"wonTournaments": ['111', '123', '1234', '11111']
}, {
"username": "xxx4",
"wonTournaments": ['111']
}]
我想检索那些wonTournamnts更多的用户的头条信息。谁能告诉我如何在MongoDB中做到这一点。我正在使用云MongoDB地图集。
在上述情况下,最高用户是['xxx3','xxx','xxx2','xxx4']
答案 0 :(得分:1)
您可以使用db.collection.aggregate()
轻松地做到这一点,例如:
db.collection.aggregate([
{ $project: { username: 1, won: { $size: "$wonTournaments" } } },
{ $sort: { "won": -1 } },
{ $limit : 10 }
])
您将需要使用数据库中实际集合的名称更改collection
。