Я запрашиваю данные из некоторой коллекции. В моем конвейере есть этапы: совпадение, пропуск, ограничение. Когда я добавляю этап сортировки, Я ПОЛУЧАЮ СООБЩЕНИЕ ОБ ОШИБКЕ: имена полей mongodb fieldpath не могут начинаться с $. Код такой: $collection->aggregate(array(
array('$match'=>$my_query),array('$limit'=>$my_limit),
array('skip'=>$my_skip),array('$sort'=>array('$natural'=>-1)))
Сортировка MongoDB по $natural в php не работает
Ответы (1)
Это известная проблема с Mongo.
Но что значит выполнять сортировку $natural в конце конвейера агрегации?
Если по возрастанию, то это все равно, что вообще не иметь сортировки. Если по убыванию, это означает получение результатов в обратном порядке.
person
joao
schedule
11.02.2015
Должен ли я поставить его в начале конвейера агрегации?
- person m_junior; 11.02.2015
$skip
, а неskip
? - person magon   schedule 11.02.2015