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 つのフィールドを連結できますが、そのインデックスを使用してクエリを実行するにはどうすればよいでしょうか?
ありがとう。