użycie $ regex w strukturze agregacji mongodb w grupie $

Rozważ następujący przykład:

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

Grupuje według pola autora i oblicza dwa pola.

Mam wartości dla $ author = FirstName_LastName. Teraz zamiast grupowania według autora $ chcę grupować wszystkich autorów, którzy mają to samo nazwisko.

Próbowałem zgrupować $ regex według wszystkich pasujących ciągów za znakiem „_”

$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" }
  }}
);

questionAnswers(3)

yourAnswerToTheQuestion