我正在基于 RethinkDB 中的 2 个字段在 javascript 中创建索引(实际上是使用rethinkdbdash
驱动程序)。代码是这样的:
r.table('someTable').indexList().contains("indexName").do(containsIndex => {
return r.branch(
containsIndex,
{created: 0},
r.table('someTable').indexCreate("indexName", [r.row("field1"), r.row("field2")])
);
}).run();
所以它有条件地创建索引,如果它不存在的话。分支确实适用于单字段索引。但ReqlCompileError: Cannot use r.row in nested queries. Use functions instead
在这种情况下它返回 a 。
文档(https://www.rethinkdb.com/api/javascript/index_create/)清楚地给出了这个例子:
r.table('comments').indexCreate('postAndDate', [r.row("postId"), r.row("date")]).run(conn, callback)
那么我错过了什么?使用 rethinkdbdash 驱动程序有什么改变吗?如果我确实使用了一个函数(如错误消息所建议的那样),我可以连接我的 2 个字段,但是如何使用该索引进行查询?
谢谢。