sql >> データベース >  >> NoSQL >> MongoDB

mongodbとphpでページ付けクエリを適切に処理する方法は?

    find()-> limit()-> skip()の結果はMongo_Cursorであるため、実際のクエリを2回実行する必要はありません。

    以下も同様に機能するはずです:

    $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. MongoDBコレクションの_idフィールドをUser_idに変更するにはどうすればよいですか?

    3. mongoを使用してすべてのドキュメントで配列の出現をカウントします

    4. MongoDBデフォルトのユーザーとパスワードは何ですか?