Betrachten Sie das folgende Beispiel:
db.article.aggregate(
{ $group : {
_id : "$author",
docsPerAuthor : { $sum : 1 },
viewsPerAuthor : { $sum : "$pageViews" }
}}
);
Diese Gruppen vom Autor Feld und berechnet zwei Felder.
Ich habe Werte für $ author = FirstName_LastName. Nun, statt von $ Author gruppieren, möchte ich von allen Autoren, die den gleichen Nachnamen teilen.
habe ich versucht, $ Regex Gruppe von allen passenden Saiten nach dem ‚_‘
$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" }
}}
);
dank. Ich bringe das auf jira.mongodb.org – user1447121