在表`test.users`上找不到索引`coin`

时间:2018-11-16 11:57:09

标签: javascript node.js rethinkdb

我正在使用RethinkDB,并且正在执行“排行榜”功能。每次运行命令时,我都会不断收到该错误。

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

}).limit(10)

在您说我是否插入了“硬币”之前,是的,我确实将其插入了

2 个答案:

答案 0 :(得分:1)

在“硬币”字段上添加索引

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

或者使用不带索引的orderby:

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

答案 1 :(得分:0)

indexCreate方法是异步方法。 插入新索引时,您需要通过调用以下命令来验证其插入:

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

该方法的作用类似于“ yield”命令,该命令使数据库停止正在执行的任何操作,并为您创建该索引。打印的结果将包含一个名为ready的属性。如果为“ true”,则可以开始在查询中使用索引。 您可以在这里阅读有关内容:Index Wait RethinkDB Documentation