Il y a beaucoup de choses (et d'API de base) que j'aimerais personnellement aimer à voir dans le framework d'agrégation tel que :
Fonctions mathématiques
- log (comme dans logarithme)
- plafond
- étage
Tableau
- somme
Chaîne
- longueur
Pour n'en nommer que quelques-uns.
Et cela sans recourir à des usages obscurs du $mod
opérateur ou d'autres moyens dans des cas tels que "ceil" et "floor". Mais je m'égare.
Votre "longueur de chaîne" entre dans cette catégorie. Soulevez un problème JIRA à ce sujet. Mais pour l'instant, vous pouvez utiliser mapReduce et la fonctionnalité JavaScript existante :
db.collection.mapReduce(
function() {
emit( this.item.length, this.item );
},
function(key,values) {
return values;
},
{ "out": { "inline": 1 } }
)
Ainsi, bien que cela ait réellement le style funky "mapReduce" de renvoyer un document remodelé et avec bien sûr tout correspondant à la même longueur dans un tableau, ce qu'il fait, c'est tirer parti de la nature de "mapReduce" (pas seulement restreint à MongoDB ) et permet de trier la valeur "clé" émise dans la réponse.