Индекс `coin` не найден в таблице` test.users` - PullRequest
0 голосов
/ 16 ноября 2018

Я использую RethinkDB и создаю функцию «таблицы лидеров». Я получаю эту ошибку каждый раз, когда запускаю команды.

`Index `coin` was not found on table `test.users` in:
r.table("users").orderBy({
    index: r.desc("coin")

}).limit(10)

Прежде чем вы скажете, есть ли у меня вставленная "монета", да, у меня есть вставленная

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Метод indexCreate является асинхронным методом. При вставке нового индекса необходимо проверить его вставку, вызвав:

print(r.table(tablename).indexWait(sameIndexName))

Этот метод действует как команда yield, которая заставляет БД остановить все, что она делает, и создает этот индекс для вас. напечатанный результат будет включать свойство с именем ready. если это 'true', вы можете начать использовать индекс в своих запросах. Вы можете прочитать об этом здесь: Index Wait RethinkDB Документация .

0 голосов
/ 16 ноября 2018

Добавьте индекс в поле "монета"

r.table("users").indexCreate("coin")

Или используйте ваш заказ без индекса:

r.table("users").orderBy(r.desc("coin"))...
...