Ada banyak hal ( dan API dasar ) yang secara pribadi saya suka untuk melihat dalam kerangka agregasi seperti:
Fungsi matematika
- log (seperti dalam logaritma)
- langit-langit
- lantai
Array
- jumlah
Tali
- panjang
Hanya untuk beberapa nama.
Dan itu tanpa menggunakan penggunaan yang tidak jelas dari $mod
operator atau cara lain dalam kasus seperti "ceil" dan "floor". Tapi saya ngelantur.
"Panjang string" Anda termasuk dalam kategori ini. Angkat isu JIRA tentang hal itu. Tetapi untuk saat ini Anda dapat menggunakan mapReduce dan fungsionalitas JavaScript yang ada:
db.collection.mapReduce(
function() {
emit( this.item.length, this.item );
},
function(key,values) {
return values;
},
{ "out": { "inline": 1 } }
)
Jadi sementara itu sebenarnya memiliki gaya funky "mapReduce" untuk mengembalikan dokumen yang dibentuk ulang dan tentu saja dengan semua yang cocok dengan panjang yang sama dalam sebuah array, yang dilakukannya adalah memanfaatkan sifat "mapReduce" (tidak hanya dibatasi ke MongoDB ) dan memungkinkan nilai "kunci" yang dipancarkan untuk diurutkan dalam respons.