使用 mongoose 和 MongoDB 根据数组中的项目数进行排序
Sort based on how many items are in an array using mongoose and MongoDB
我有一个 Post
模型,它有一个 likes
数组,其中包含喜欢 Post 的用户的 ObjectId
,我想对 Posts 基于他们收到的点赞数。
我确定我会使用 $size
、$sort
和 aggregate
,但我尝试过的所有方法似乎都不起作用。你可以在 $sort
中使用 $size
吗?这样做的正确方法是什么?有猫鼬的具体方法吗?
db.collection.aggregate([
{
$set: {
size: { $size: "$likes" }
}
},
{
$sort: {
size: -1
}
}
])
我有一个 Post
模型,它有一个 likes
数组,其中包含喜欢 Post 的用户的 ObjectId
,我想对 Posts 基于他们收到的点赞数。
我确定我会使用 $size
、$sort
和 aggregate
,但我尝试过的所有方法似乎都不起作用。你可以在 $sort
中使用 $size
吗?这样做的正确方法是什么?有猫鼬的具体方法吗?
db.collection.aggregate([
{
$set: {
size: { $size: "$likes" }
}
},
{
$sort: {
size: -1
}
}
])