Como posso selecionar um número de registros por um campo específico usando o mongodb?

Eu tenho uma coleção de documentos no mongodb, cada um dos quais tem um campo "grupo" que se refere a um grupo que possui o documento. Os documentos são assim:

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

Eu gostaria de construir uma consulta que retorna os N documentos mais recentes para cada grupo. Por exemplo, suponha que haja 5 grupos, cada um com 20 documentos. Eu quero escrever uma consulta que retornará o top 3 para cada grupo, que retornaria 15 documentos, 3 de cada grupo. Cada grupo recebe 3, mesmo que outro grupo tenha um quarto mais recente.

No mundo SQL, acredito que esse tipo de consulta é feito com "partição por" e um contador. Existe tal coisa no mongodb, menos de fazer N + 1 consultas separadas para grupos N?

questionAnswers(2)

yourAnswerToTheQuestion