【发布时间】:2021-08-02 16:55:28
【问题描述】:
我有一个内容 ID 列表,我正在尝试获取列表中每个内容 ID 的最新评论(如果存在) -
我的查询如下所示:
const query = [
{
$match: {
content_id: { $in: myContentIds },
},
},
{ $sort: { ‘comment_created’: -1 } },
]
const results = await collection.find(query).toArray();
我的理解是,这将获取与myContentIds 数组中的 contentIds 相关的所有 cmets,并根据日期按降序对它们进行排序。
然后我可以使用 { $limit: 1} 限制我的结果,但这将返回对任何内容项的最新评论,而不是每个内容的最新评论。
如何修改我的查询以返回我的每个内容项的最新评论?
【问题讨论】:
-
您能否展示示例文档和预期结果。
-
评论将有一个
content_id和一个comment_created日期字段。myContentIds将是一个 id 数组,例如[1,3,5,82]。预期结果是一个 cmets 数组,例如:[{comment_id: 123, content_id: 3, comment_created: ‘2020-12-10T09:21:48.861Z}, {comment_id: 1256, content_id: 5, comment_created: ‘2020-11-10T09:31:48.861Z}]
标签: javascript node.js mongodb mongodb-query