使用mongoose和MongoDB根据数组中的项目数量进行排序



我有一个Post模型,它有一个包含喜欢帖子的用户的ObjectIdlikes数组,我想根据帖子获得的赞数来对帖子进行排序。

我确信我会使用$size$sortaggregate,但我所尝试的一切似乎都不起作用。你能在$sort中使用$size吗?做这件事的正确方法是什么?有没有一种特殊的方法来处理猫鼬?

db.collection.aggregate([
{
$set: {
size: { $size: "$likes" }
}
},
{
$sort: {
size: -1
}
}
])

mongoplayground

最新更新