Я пытаюсь использовать this solution для пагинации в PHP:PHP MongoDB найти запрос
public function getRecords($page, $count, $currentId)
{
$query = ["_id" => ['$gt' => $currentId]]; //what's wrong here?
$cursor = $this->recordsCollection->find($query)->
skip(($page-1) * $count)->
limit($count)->
sort(["_id" => true]);
$result = array();
foreach ($cursor as $doc) {
array_push($result, $doc);
}
return $result;
}
Но он возвращает пустой массив result
. Также я попробовал этот запрос без skip
и limit
, но результат все равно был пустым массивом. Если $query
пуст, все в порядке, оно возвращает все записи в colection.
Что я делаю неправильно?
РЕШЕНИЕ$query = ["_id" => ['$gt' => new MongoId($currentId)]];
Может быть, '$ currentId' неправильного типа? Глядя на то, что вы пытаетесь сделать, я думаю, что это должен быть экземпляр 'MongoId' – malarzm
Вы правы. '$ query = [" _id "=> ['$ gt' => новый MongoId ($ currentId)]];' работает. Пожалуйста, сделайте ответ, чтобы я мог принять его. – ziwert
Рад, что он работает, добавлен в качестве ответа :) – malarzm