排列"/>
对评论进行排序,使登录的用户评论首先出现,所有其他评论按日期降序排列
以下猫鼬查询检索标题和嵌套评论数组,按创建日期降序排列:
Post.findById(request.params.id).select({title:1,
reviews:{$sortArray:{input:"$reviews", sortBy:{creationdate:-1}}} }).
populate("reviews.userid",{name:1})
这是此查询的输出示例:
{
"post": {
"_id": "642ef80f7f06439acdd8552b",
"title": "pets",
"reviews": [
{
"userid": {
"_id": "64112ea99f072b412d1a30bb",
"name": "gfdfgdfgdfgf"
},
"heading": "review1",
"review": "e in its savage simplic..............",
"creationdate": "2023-05-14T02:56:38.000Z",
"_id": "64604de6eb800ae06763e20a"
},
{
"userid": {
"_id": "64112f269f072b412d1a30c1",
"name": "Peter Smalls"
},
"heading": "new hea",
"review": "outside of Dr......",
"creationdate": "2023-05-10T18:19:49.000Z",
"_id": "645be0450de30c43011752e5"
},
{
"userid": {
"_id": "64112f1c9f072b412d1a30bd",
"name": "Mary fdg"
},
"heading": "review3",
"review": "From the reports that I h......",
"creationdate": "2023-05-10T15:48:25.000Z",
"_id": "645bbcc9848bc9f70e4d4016"
}
]
}
}
我如何扩展此查询以仍然按创建日期的降序对嵌套评论数组进行排序,但是如果登录的用户 ID(例如 ObjectId('64112f1c9f072b412d1a30bd'))对该帖子有评论,它将首先出现(无论如果它符合排序顺序)并且所有其他评论都按创建日期降序排序?
回答如下:更多推荐
对评论进行排序,使登录的用户评论首先出现,所有其他评论按日期降序排列
发布评论