CouchDB расслаблен. Вы можете использовать skip
сейчас. Это будет работать очень хорошо, и вы можете сосредоточиться на других важных вещах. Основная проблема заключается в том, что он не является в конечном итоге масштабируемым. Для небольших наборов данных (до 1000 строк или около того) я бы не волновался.
Однако в долгосрочной перспективе это не будет работать хорошо. Вместо установки skip
в 0
, 20
, 40
, 60
и т. Д. Вместо него можно использовать startkey
.
- Запрос в первый раз,
startkey=substring
, limit=20
.
- Посмотрите на последний ряд в результате.
key
сообщает вам, какой ключ он использовал в представлении.
- Таким образом, ваш следующий запрос будет иметь
startkey=
значение key
из шага 2, плюс limit=20
и skip=1
.
Видите, что случилось? Второй запрос начинается там, где заканчивается первый запрос. Чтобы не показывать один и тот же ряд дважды, просто пропустите его. (Вы также можете получить его, но проигнорируйте его на стороне клиента - ваш выбор.)
Это работает большую часть времени. Я также предлагаю вам взглянуть на startkey_docid
, описанное в CouchDB view API .