MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để xử lý các truy vấn phân trang đúng cách với mongodb và php?

Vì kết quả của find () -> limit () -> ignore () là Mongo_Cursor nên bạn không phải thực thi truy vấn thực hai lần.

Những điều sau đây cũng sẽ hoạt động:

$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;

btw, lần đầu tiên tôi đọc nhầm câu hỏi của bạn, tôi nghĩ bạn không biết về giới hạn và bỏ qua.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bản sao MongoDB không có thiết lập chính, cần thiết lập bản sao chính mới

  2. mongoose - có thể có sự phụ thuộc vòng tròn?

  3. MongoDB- Tìm nạp phần tử mảng chính xác, loại trừ các phần tử khác

  4. MongoDB Compass - bị kẹt khi kết nối với Atlas

  5. Làm cách nào để kết nối MongoDB với PowerShell?