usando $ regex en el marco de agregación mongodb en $ group

Considere el siguiente ejemplo:

db.article.aggregate(
  { $group : {
      _id : "$author",
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

Esto agrupa por el campo de autor y calcula dos campos.

Tengo valores para $ author = FirstName_LastName. Ahora, en lugar de agrupar por $ autor, quiero agrupar por todos los autores que comparten el mismo apellido.

Intenté $ regex para agrupar por todas las cadenas coincidentes después de '_'

$author.match(/_[a-zA-Z0-9]+$/)

db.article.aggregate(
  { $group : {
      _id : "$author".match(/_[a-zA-Z0-9]+$/),
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

also tried the following:

 db.article.aggregate(
  { $group : {
      _id : {$author: {$regex: /_[a-zA-Z0-9]+$/}},
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

Respuestas a la pregunta(3)

Su respuesta a la pregunta