Je spousta věcí (a základní API), které bych osobně miloval vidět v agregačním rámci, jako je:
Matematické funkce
- protokolovat (jako v logaritmu)
- strop
- podlaha
Pole
- součet
Řetězec
- délka
Abychom jmenovali alespoň některé.
A to bez uchylování se k obskurnímu použití $mod
operátor nebo jiné prostředky v takových případech jako "strop" a "podlaha". Ale to jsem odbočil.
Vaše "délka řetězce" spadá do této kategorie. Nastolit o tom problém JIRA. Ale zatím můžete použít mapReduce a stávající funkci JavaScript:
db.collection.mapReduce(
function() {
emit( this.item.length, this.item );
},
function(key,values) {
return values;
},
{ "out": { "inline": 1 } }
)
Takže i když to ve skutečnosti má funky styl „mapReduce“ vrácení přeformátovaného dokumentu a samozřejmě se vším, co odpovídá stejné délce v poli, to, co dělá, je využít povahu „mapReduce“ (ne jen omezené na MongoDB ) a umožňuje seřadit emitovanou hodnotu "klíč" v odpovědi.