Dynamic 针对单个键的多个值重新设计DB查询筛选器

Dynamic 针对单个键的多个值重新设计DB查询筛选器,dynamic,rethinkdb,Dynamic,Rethinkdb,下面是我的示例数据库,其中有3行 {type:"a", info:""} {type:"b", info:""} {type:"c", info:""} 使用Reinspect db如何列出所有类型的值a或b //这是我的第一个解决方案,但我无法动态构建它 r.table("example").filter(r.row("type").eq("a").or("b")).run(conn, function(err, results){...}); 所以如果下次我想要a型和c型,我就有麻烦了。

下面是我的示例数据库,其中有3行

{type:"a", info:""}
{type:"b", info:""}
{type:"c", info:""}
使用Reinspect db如何列出所有类型的值a或b

//这是我的第一个解决方案,但我无法动态构建它

r.table("example").filter(r.row("type").eq("a").or("b")).run(conn, function(err, results){...});
所以如果下次我想要a型和c型,我就有麻烦了。我需要一种构建查询的方法。烹饪书的例子对我来说毫无意义。有什么想法吗?

你写了
r.row('type').eq('a')或('b')
,但这并没有达到你的预期

您可能需要
r.row('type').eq('a')或(r.row('type').eq('b'))


您还可以编写
r.expr(['a','b'])。contains(r.row('type'))

我发现,既然filter只是一个对象,我就可以使用它

var filter;
filter = r.row("type").eq('a');
如果我想添加更多内容,那么您只需在过滤器中添加and/or op即可。 过滤器=过滤器和(…)