首页 > 解决方案 > ReQL 等效于 Select * from table where id in ()

问题描述

我是 RethinkDB 的新手,我有一个对象 id 数组,我想从 id 属于该数组的表中获取对象。

SQL查询将是 -

SELECT * FROM orgs WHERE id IN ('ID1','ID2');

我尝试在 myREQL 控制台中进行以下操作-

r.table("orgs").filter(function(org) {
  r.expr(["ID1" ,"ID2"]).contains(org['id'])
})

它给了我错误-

SyntaxError: missing ) after argument list

我提到了这个https://rethinkdb.com/api/python/contains/

我究竟做错了什么?

标签: rethinkdbrethinkdb-javascriptreql

解决方案


您的函数应该返回 expr 的值,并且需要将 org['id'] 更改为 org('id')。我认为下面的代码有效:

  r.table("orgs").filter(function(org) {
  return r.expr(["ID1" ,"ID2"]).contains(org('id'))
  })

推荐阅读