Er zijn veel dingen (en basis-API) waar ik persoonlijk van zou houden te zien in het aggregatieraamwerk, zoals:
Wiskundige functies
- log (zoals in logaritme)
- plafond
- vloer
Array
- som
String
- lengte
Om er maar een paar te noemen.
En dat is zonder toevlucht te nemen tot obscuur gebruik van de $mod
operator of andere middelen in gevallen zoals "plafond" en "vloer". Maar ik dwaal af.
Uw "stringlengte" valt in deze categorie. Maak er een JIRA-probleem over. Maar voor nu kun je mapReduce en de bestaande JavaScript-functionaliteit gebruiken:
db.collection.mapReduce(
function() {
emit( this.item.length, this.item );
},
function(key,values) {
return values;
},
{ "out": { "inline": 1 } }
)
Dus hoewel dat eigenlijk de funky stijl "mapReduce" heeft van het retourneren van een opnieuw gevormd document en met natuurlijk alles met dezelfde lengte in een array, wat het doet is profiteren van de aard van "mapReduce" (niet alleen beperkt naar MongoDB ) en staat toe dat de verzonden "sleutel" -waarde in het antwoord wordt gesorteerd.