RethinkDB - 链多个getAll函数

时间:2017-07-03 10:03:38

标签: java rethinkdb chain

在RethinkDB中链接多个getAll-Functions的最有效方法是什么?在我的情况下,我在java中工作,需要在List上执行getAll。这就是它的样子:

要从 测试 表中获取所有文档,其中 名称 位于 myListOfNames

r.table("test").getAll(r.args(myListOfNames)).optArg("index", "name").run(conn)

但是我怎样才能最有效地链接另一个getAll-Function?例如,如果我还需要 myListOfCitys city 的文档。我不能只附加一个getAll-Function,并且使用过滤器不会使用二级索引,并且不会有足够的效率。我可以附加 forEach -Function并为每个文档使用getAll,但我不认为,这将足够有效。所以我的问题是,链接多个使用二级索引的getAll-Functions最有效的方法是什么?

我感谢每一个回复。

1 个答案:

答案 0 :(得分:0)

您可以使用联合:

r.table("test")
 .getAll(r.args(myListOfNames))
 .optArg("index", "name")
 .union(
   r.table("test")
     .getAll(r.args(myListOfCities))
     .optArg("index", "city"))