Spec-Zone.ru › RethinkDB ruby

Команда 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().

Связанные команды

  • for (cursor)
  • to_a
  • close (cursor)

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/next/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API