Команда ReQL: indexStatus
Синтаксис команды
table.indexStatus([, index...]) → array
Описание
Получите состояние указанных индексов в этой таблице или состояние всех индексов в этой таблице, если индексы не указаны.
Результат — массив, где для каждого индекса будет объект такого вида:
{
index: <indexName>,
ready: true,
function: <binary>,
multi: <bool>,
geo: <bool>,
outdated: <bool>
}
или такого:
{
index: <indexName>,
ready: false,
progress: <float>,
function: <binary>,
multi: <bool>,
geo: <bool>,
outdated: <bool>
}
Поле multi будет true или false, в зависимости от того, создавался ли этот индекс как многомерный индекс; поле geo будет true или false, в зависимости от того, создавался ли этот индекс как геопространственный индекс. Подробности см. в indexCreate. Поле outdated будет истинным, если индекс устарел в текущей версии RethinkDB и требует перестроения. Поле progress — это число с плавающей точкой от 0 до 1, показывающее, насколько далеко сервер продвинулся в построении индексов после последнего изменения в таблице, которое могло повлиять на них. (0 означает, что такие индексы ещё не построены; 1 означает, что все они построены.)
Поле function — это двоичный объект, содержащий неявное представление вторичного индекса (включая аргумент multi, если он был указан). Его можно передать как второй аргумент в indexCreate для создания нового индекса с той же функцией; см. indexCreate для получения дополнительной информации.
Пример: Получить состояние всех индексов в test:
r.table('test').indexStatus().run(conn, callback)
Пример: Получить состояние индекса timestamp:
r.table('test').indexStatus('timestamp').run(conn, callback)
Пример: Сохранить двоичное представление индекса:
var func;
r.table('test').indexStatus('timestamp').run(conn, function (err, res) {
func = res[0].function;
});
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/index_status/