2017-01-02 8 views
2

Мне нужно использовать Mongodb с php и пытаться получить данные из mongocollection с помощью php. сглаживание mongoquery с успешной записью php. но я хочу установить предел для следующего запроса.Как установить limit() в MongoQuery с помощью PHP?

PHP код:

$query = array("\$and"=>array(array('fld'=> array("\$in"=> array('4', '14', '20'))), array('stat'=>array("\$eq"=>"A")))); 

$cursor = $this->collection->find($query); 

я также попытался follwing пути

$query = array("\$and"=>array(array('fld'=> array("\$in"=> array('4', '14', '20'))), array('stat'=>array("\$eq"=>"A")))).limit(2); 

Но я неисправимая ошибка

Призыв к пределу неопределенных функций()

Как использовать limit() в вышеуказанном запросе?

+1

'предел()' это метод объекта MongoCursor, а не из массива –

+0

'$ курсора = $ this-> галерею-> найти ($ запроса) -> limit (2) 'это правильно? @Yury Fedorov –

+0

Он выглядит правильно, попробуйте –

ответ

2

В PHP limit() - это метод класса MongoCursor, а не массив. Вы должны получить курсор, а затем вызвать его limit() метод:

$collection->find($query)->limit(2); 

Вы также можете добавить параметры массива к вашему find() вызова с limit параметра:

$collection->find($query, ['limit' => 2]); 
0

Новая библиотека PHP MongoDB Безразлично» t имеют методы limit() и sort() на курсорах, как у старой библиотеки PHP Mongo. Теперь Они должны быть указаны во время запроса, например:

$collection->find($query, [ 
    'limit' => 10, 
    'sort' => [ 'date' => -1 ], 
    'projection' => [ 
     '_id' => 1, 
     'description' => 1, 
    ] 
]; 

 Смежные вопросы

  • Нет связанных вопросов^_^