Сортировка MongoDB по $natural в php не работает

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


person m_junior    schedule 11.02.2015    source источник
comment
разве это не $skip, а не skip?   -  person magon    schedule 11.02.2015


Ответы (1)


Это известная проблема с Mongo.

Но что значит выполнять сортировку $natural в конце конвейера агрегации?

Если по возрастанию, то это все равно, что вообще не иметь сортировки. Если по убыванию, это означает получение результатов в обратном порядке.

person joao    schedule 11.02.2015
comment
Должен ли я поставить его в начале конвейера агрегации? - person m_junior; 11.02.2015