Bit manipulation 重新思考DB位比较

Bit manipulation 重新思考DB位比较,bit-manipulation,bitwise-operators,rethinkdb,bitwise-and,Bit Manipulation,Bitwise Operators,Rethinkdb,Bitwise And,我正试图根据字段中的某些位筛选一个数据库选择 我试过了 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(1

我正试图根据字段中的某些位筛选一个数据库选择 我试过了

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的条目。默认情况下,RejectDB没有按位AND运算符,但它可以执行任意javascript作为过滤函数,如下所示:

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