Rozważmy następujący przykład:
db.article.aggregate(
{ $group : {
_id : "$author",
docsPerAuthor : { $sum : 1 },
viewsPerAuthor : { $sum : "$pageViews" }
}}
);
przez pole autor tej grupie i oblicza dwa pola.
Mam wartości dla $ author = FirstName_LastName. Teraz zamiast grupowania według $ author, chcę grupować według wszystkich autorów, którzy dzielą tę samą Nazwę.
Próbowałem $ regex do grupy wszystkich pasujących ciągów po „_”
$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" }
}}
);
dzięki. Przekażę to na jira.mongodb.org – user1447121