Der er mange ting (og grundlæggende API) jeg personligt ville elske at se i aggregeringsrammen, såsom:
Matematiske funktioner
- log (som i logaritme)
- loft
- etage
Array
- sum
String
- længde
Bare for at nævne nogle få.
Og det er uden at ty til obskur brug af $mod
operatør eller andre midler i sådanne tilfælde som "loft" og "gulv". Men jeg afviger.
Din "strenglængde" falder ind under denne kategori. Rejs et JIRA-spørgsmål om det. Men indtil videre kan du bruge mapReduce og den eksisterende JavaScript-funktionalitet:
db.collection.mapReduce(
function() {
emit( this.item.length, this.item );
},
function(key,values) {
return values;
},
{ "out": { "inline": 1 } }
)
Så selvom det faktisk har den "mapReduce" funky stil med at returnere et omformet dokument og med selvfølgelig alt, der matcher den samme længde i et array, hvad det gør, er at drage fordel af naturen af "mapReduce" (ikke kun begrænset til MongoDB ) og tillader den udsendte "nøgle"-værdi at blive sorteret i svaret.