重新考虑数据库按位比较

时间:2019-01-23 01:45:53

标签: bit-manipulation bitwise-operators rethinkdb bitwise-and

我正在尝试根据字段中的某些位过滤rethinkdb选择 我已经尝试过了

r.db("db").table("table").filter(r.expr(r.row("flags") & 64).ne(0))
// and
r.db("db").table("table").filter(r.row("flags") & 64)

64是要测试的设备,没有运气,没有任何回报。我尝试在不调用行的情况下进行测试,并且效果很好

r.db("db").table("table").filter(114 & 64)
// or
r.db("db").table("table").filter(r.expr(114 & 64).ne(0))

返回所有条目或不返回任何条目。我只想获取位测试不等于0的条目

1 个答案:

答案 0 :(得分:1)

rethinkdb默认情况下没有按位AND运算符,但是它可以执行如下所示的任意javascript作为过滤器功能:

r.db("db").table("table").filter(
   r.js('(function (row) { return (row.flags & 64) != 0; })')
)