【发布时间】:2017-06-22 15:54:18
【问题描述】:
我有一个帖子 ID 数组。对帖子的评论是它自己的集合,而不是嵌入的。现在我想在一个查询中检索每个帖子 ID 的最新评论。 post_id 是每个评论文档中的一个字段,当然还有一个 timestamp。
帖子:
{
_id: 123
}
评论:
{
_id: 567,
post_id: 123,
timestamp: 1498117182
}
【问题讨论】:
-
不是很清楚。请从您的收藏中添加示例文档,以及预期的输出
-
我想他想要什么已经很清楚了。 @OP AFAIK 无法在 mongodb 的 1 个查询(如连接)中查询多个集合。因此,您必须在 2 个查询中执行此操作。我建议使用
$slice查看投影以获取 cmets 数组的最后一个元素,然后在 cmets 上使用正常查找 -
@p.streef 您可以使用
$lookup查询多个集合并在 mongodb 中执行连接(当然如果两个集合有共同的字段) -
那好吧!这意味着您应该能够使用 $match,$project,$lookup 聚合管道来获得所需的内容。我在这里假设您将 cmets 推到队列的后面,最后一个也是最新的
标签: mongodb