агрегат mongodb с предварительной сортировкой и ограничением - PullRequest
0 голосов
/ 04 мая 2020

У меня есть следующие объекты коллекции:

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

У меня довольно сложный агрегат, который вычисляет время загрузки и время входа в систему.
Один из API - это получение pictureId s некоторыми учитывая groupId с.

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

Это просто, когда я получаю groupIds в качестве ввода.
Как я могу выполнить агрегацию, получив groupId s в виде нумерации страниц?
Например, запросить pictureId из 10 различных групп, а затем следующие 10 и т. д.

Я мог бы выяснить это, только выполнив другой запрос перед агрегацией, чтобы отчетливо запросить значения groupId s и отправьте его на 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: [...],
  ...
}
...