MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да обработваме правилно заявките за страниране с mongodb и php?

Тъй като резултатът от find()->limit()->skip() е Mongo_Cursor, не е нужно да изпълнявате действителната заявка два пъти.

Следното също трябва да работи:

$skip = (int)($docs_per_page * ($page - 1));
$limit = $docs_per_page;

$query = array("loc" => array('$near' => array('lat' => $latitude, 'lon' => $longitute) ),
    "tags" => $tag, "seeking" => $this->session->userdata('gender'),
    "gender" => $this->session->userdata('seeking'));

$fields = array("username", "zipcode", "tags", "birth_date");
$cursor = $collection->find($query, $fields)->limit($limit)->skip($skip);
$total_documents = $cursor->count();
$data['result'] = $cursor;

Между другото, първо прочетох погрешно въпроса ви, мислех, че не знаете за ограничаване и пропускане.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да актуализирате определен елемент от масив в MongoDB

  2. Mongodb заявка за вложени елементи на масив

  3. изключване на полета в $lookup агрегиране

  4. Импортирате JSON файл с помощта на mongimport, продължавате да получавате „неочакван идентификатор“?

  5. Връзка на Mongoose към комплект реплики