Мне нужно получить несколько записей из пространства users
. Это пространство имеет вторичный индекс category_status_rating
. Мне нужно выбрать пользователей с category=1
, status=1
, rating<=123456789
:
for _, user in box.space.users.index.category_status_rating:pairs({ 1, 1, 123456789 }, { limit = 20, offset = 5, iterator = box.index.LE }) do
if user[categoryIdx] ~= 1 or user[statusIdx] ~= 1 then break end
table.insert(users, user)
end
Насколько я знаю, итерация с indexName:pairs
не поддерживает limit
, и я могу просто использовать свой собственный счетчик. А как же offset
? Могу ли я использовать этот параметр и начать с нужной мне «страницы»? Или я буду повторять без каких-либо offset
и пропускать бесполезные записи (около 100000) и начинать table.insert(users, user)
при запуске моей "страницы"? Спасибо!