API CouchDB HTTP View предоставляет множество возможностей для эффективной подкачки страниц.
Самый простой метод будет использовать startkey
и count
. Count - это максимальное количество записей, которые CouchDB возвратит для этого запроса на просмотр, что соответствует вашему дизайну, и startkey - это то место, с которого вы хотите запустить CouchDB. Когда вы запрашиваете представление, оно также сообщает вам, сколько существует записей, позволяя подсчитать, сколько страниц будет, если вы хотите показать это пользователям.
Таким образом, в первом запросе не будет указана начальная клавиша, а будет только количество записей, которые вы хотите показать. Затем вы можете отметить ключ последней возвращенной записи и использовать его в качестве ключа запуска для следующей страницы. В этой простой форме вы получите перекрытие, при котором последняя запись на одной странице является первой из следующей. Если это нежелательно, просто не отображать последнюю запись на странице.
Более простой способ сделать это - использовать параметр skip для разработки начального документа для страницы, однако этот метод следует использовать с осторожностью. Параметр skip просто заставляет внутренний движок не возвращать записи, которые он перебирает. Хотя это дает желаемое поведение, это намного медленнее, чем поиск первого документа для страницы по ключу. Чем больше документов будет пропущено, тем медленнее будет запрос.