¿Cómo puedo seleccionar un número de registros para un campo específico usando mongodb?

Tengo una colección de documentos en mongodb, cada uno de los cuales tiene un campo de "grupo" que se refiere a un grupo que posee el documento. Los documentos se ven así:

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

Me gustaría construir una consulta que devuelva los documentos N más recientes para cada grupo. Por ejemplo, supongamos que hay 5 grupos, cada uno de los cuales tiene 20 documentos. Quiero escribir una consulta que devolverá los 3 primeros para cada grupo, que devolvería 15 documentos, 3 de cada grupo. Cada grupo obtiene 3, incluso si otro grupo tiene un 4º más reciente.

En el mundo de SQL, creo que este tipo de consulta se realiza con "partición por" y un contador. ¿Existe tal cosa en mongodb, aparte de hacer N + 1 consultas separadas para N grupos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta