結果のページネーションはskipとlimitパラメータを利用して実現できます。たとえば、ビューから最初の10レコードを取得するには:
?limit=10次の10レコードは、次のように指定して取得することができます:
?skip=10&limit=10サーバでは、skipオプションは、クエリが実行され、skipで指定された数までレコードの出力を文字通りスキップすることを繰り返して動作し、そのあとlimitが指定されていればlimitで指定されたレコードになるまでデータを記憶するものを返します。
skipにより大きな値を使用したページネーションをするとき、レコードのスキップの繰り返しによるオーバヘッドが重大な問題となることがあります。より良い解決策は、(limitパラメータを使用した)最初のクエリでのドキュメントIDの出力を追跡することです。
そして最後に出現したドキュメントIDを特定するためにstartkey_docidを使用し、そのレコードをスキップし、次の10レコードを出力します。
それゆえ、ページングの順番はこのようになります、最初のクエリでは:
?startkey="carrots"&limit=10生成された出力での最後のドキュメントIDを記憶し、次のように使用してください:
?startkey="carrots"&startkey_docid=DOCID&skip=1&limit=10startkey_docidを使用するとき、startkeyパラメータを検索する情報を特定するために指定しなければなりません:startkey_docidパラメータを使用することによって、Couchbase ServerはドキュメントIDを特定するためのB-Treeインデックスを使用してスキップします。これは、上記のskip/limitの例よりもはるかに高速です。