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.