Хуршед Абдужалил: К меня вроде проблем пока не наблюдалось. Но все возможно. Пробуйте более удобные способы общения с сервером. Например MongoChef (Studio3T)
Илья Караваев: ну я вообще на yii2 пишу) там свои запросы есть , позже там посмотрю как себя поведет, но через консоль к сожалению криво выводит... в общем буду разбираться)
Хуршед Абдужалил: Проблема с деревом, которое было получено в результате запроса. Я так понимаю, что обертки для yii2 неудачно реализуют алгоритмы обработки запросов, отличных от простого поиска. Попробуйте тоже самое реализовать на чистом Mongo. Ответ от запроса агрегации всегда массив. А в случае с агрегацией это еще и массив с 2 элементами. Статус выполнения и результат. И toArray вам не нужен, там один ответ. И current применять нужно к вложенному элементу result (точно уже не помню как он называется).
Хуршед Абдужалил: ответ кроется в эксперименте на чистой монге. Скорее всего ответ на запрос получается не совсем тем, что планируется и дерево с точки зрения php является поломанным. Можно попробовать еще какую нибудь стадию добавить в агрегацию, например еще один match.
Хуршед Абдужалил: на самом деле проще, чем кажется. Нужно передать две функции:
1) Сбор статистики - map:
function () {
emit(this.name.substring(0, 1) 1);
};
2) Склеивание статистики - reduce:
function (key, values) {
var sum = 0;
for (var i in values) {
sum += values[i];
}
return sum;
}
И на выходе получишь нужную аналитику.
Если опять не будет проблем с русской кодировкой...