Команда ReQL: next
Синтаксис команды
cursor.next([true])
Описание
Получить следующий элемент в курсоре.
Необязательный неопределенный аргумент указывает, нужно ли ждать следующего доступного элемента и сколько времени ждать:
-
true: Ждать неопределенно (по умолчанию). -
false: Не ждать вообще. Если данные немедленно доступны, они будут возвращены; если они недоступны, будет возбужденоTimeout::Error. - число: Подождать до указанного числа секунд, прежде чем возбудить
Timeout::Error, пока данные не станут доступными.
Поведение next будет идентичным с false, nil или числом 0.
Вызов next в первый раз для курсора предоставляет первый элемент курсора. Если набор данных исчерпан (например, вы извлекли все документы в таблице), при вызове next будет возбуждена ошибка StopIteration.
Пример: Получить следующий элемент.
cursor = r.table('superheroes').run(conn)
doc = cursor.next()
Пример: Получить следующий элемент в ленте изменений (changefeed), ожидая до пяти секунд.
cursor = r.table('superheroes').changes().run(conn)
doc = cursor.next(5)
Примечание: Последовательности RethinkDB можно итерировать через интерфейс Ruby Enumerable. Стандартный способ получения всех результатов — использование команды each или to_a().
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/next/