Dynamic 针对单个键的多个值重新设计DB查询筛选器
下面是我的示例数据库,其中有3行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型,我就有麻烦了。
{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即可。
过滤器=过滤器和(…)