Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 2 ноября 2026 г. в 15:35

get

get(key)

Параметры:

  • space_object (space_object) — ссылка на объект
  • key (scalar/table) — значение для сопоставления с ключом индекса, который может быть составным.

Возвращает

кортеж, ключ индекса которого совпадает с key, или nil.

Тип возвращаемого значения

tuple

Возможные ошибки:

Факторы сложности:

Размер индекса, тип индекса, количество индексов, к которым получен доступ, настройки журнала упреждающей записи (WAL).

Функция box.space...select вернет набор кортежей в виде Lua-таблицы; функция box.space...get вернет самое большее один кортеж. Можно получить первый кортеж в спейсе, добавив [1]. Таким образом, box.space.tester:get{1} эквивалентна box.space.tester:select{1}[1], если найден только один кортеж.

Пример:

box.space.tester:get{1}

Использование имен полей вместо номеров полей:

В get() можно использовать имена полей, описанные в необязательном операторе space_object:format(). Это связано с тем, что функция get() возвращает объект, который можно использовать с большинством функций, описанных в box.tuple, включая tuple_object[field-name].

Например, можно форматировать спейс tester с полем под названием x и использовать имя x в определении индекса:

box.space.tester:format({{name='x',type='scalar'}})box.space.tester:create_index('I',{parts={'x'}})

Тогда, если get или select вернут отдельный кортеж, можно сослаться на поле x в кортеже по имени:

box.space.tester:get{1}['x']box.space.tester:select{1}[1]['x']