如何通过ID数组从RethinkDB获取许多文档?

时间:2018-03-20 16:08:15

标签: ruby rethinkdb rethinkdb-ruby

我有一系列ID

ids = [1, 2, 3, 4, ...] #1000 ids

我如何使用此功能:

r.table("users").get_all(1, 2, 3, 4, ..1000 ids.., index: "id")

我可以用

r.table("users").filter{ |doc| r.expr(ids).contains(doc["id"])}

但对于拥有6百万个文档的数据库而言,它太慢了

此处采用的方法SQL to ReQL cheat sheet

1 个答案:

答案 0 :(得分:1)

要将ids数组扩展为参数列表(get_all方法所需),请使用splat运算符(*array),如下所示:

ids = [1, 2, 3, 4]
r.table('users').get_all(*ids, index: 'id') # note the `*`