mongodb聚合与预排序和限制

时间:2020-05-04 08:05:34

标签: mongodb aggregation

我有以下收集对象:

pictureId: <String>
groupId: <String>
...

我有一个非常复杂的聚合,可以计算上载时间和登录时间。
API之一是按给定的pictureId来检索groupId

[...
{
  $match: {
    $expr: { $in: ["$groupId", groupIds] }
  }
}
...]

当我得到groupIds作为输入时,这很简单。
如何通过分页方式获取groupId来执行聚合?
例如,查询10个不同组中的pictureId,然后查询下10个,依此类推。

我只能通过在汇总之前执行不同的查询来明确查询groupId的值并将其发送到aggregate来解决这个问题。

编辑

最终结果应将groupId分组,以便每个分组显示pictureId
没有groupIds输入的情况下如何执行聚合?
因此,聚合一次将返回5个组。

{
  pictureId: "1",
  groupId: "1",
  createdAt: ...,
  tags: [...],
  ...
},{
  pictureId: "2",
  groupId: "1",
  createdAt: ...,
  tags: [...],
  ...
},{
  pictureId: "3",
  groupId: "1",
  createdAt: ...,
  tags: [...],
  ...
},{
  pictureId: "4",
  groupId: "2",
  createdAt: ...,
  tags: [...],
  ...
}

0 个答案:

没有答案
相关问题