Как я могу выбрать количество записей для определенного поля, используя mongodb?

У меня есть коллекция документов в mongodb, у каждого из которых есть поле «группа», которое относится к группе, которой принадлежит документ. Документы выглядят так:

{
  group: <objectID>
  name: <string>
  contents: <string>
  date: <Date>
}

Я хотел бы построить запрос, который возвращает самые последние N документов для каждой группы. Например, предположим, что есть 5 групп, в каждой из которых по 20 документов. Я хочу написать запрос, который будет возвращать 3 верхних для каждой группы, который будет возвращать 15 документов, 3 из каждой группы. Каждая группа получает 3, даже если у другой группы есть 4-е, что более недавно.

Я полагаю, что в мире SQL этот тип запроса выполняется с помощью «разбиения по» и счетчика. Есть ли такая вещь в mongodb, если не делать N + 1 отдельных запросов для N групп?

Ответы на вопрос(2)

Ваш ответ на вопрос