我正在尝试过滤一个表,该谓词是代码中列表的必要条件。
可以通过代码完成此操作,而无需将列表添加到RethinkDB
表中吗?
var list=new List<int>{1,2,3};
var filter=r.Db("someDb").Table("SomeTable").Filter(x=>list.Contains(x("field")));
如您所见,我在c#
中有列表,但是我不能以某种方式将其作为Reql
语法中的谓词。总之有这样做吗?
或者我可以使用for
这样创建表达式吗
var basicExpression;
foreach(var item in list)
{
basicExpression.Or(x("something").Eq(item));
}
最后做出一个大的表达吗?
答案 0 :(得分:1)
在javascript驱动程序中,应该是这样的:
r.db("someDb").table('SomeTable').filter(function (x) {
return r.expr(['1', '2', '3']).contains(x('field'))
})
但是,我不确定在.net驱动程序中,也许:
var filter = r.Db("someDb").Table("SomeTable")
.Filter(x => R.Expr(new[]{'1','2','3'}).Contains(x("field")));