带有使用列值的表达式的 loopbackjs where 子句

loopbackjs where clause with expressions using column values

我有一个 mySQL 数据库 table t1,其中有一个名为 filter 的 bigint 字段,我需要 'and' 到给定的查询参数以过滤掉条目。

table t1:

filter bigint unsigned
info   varchar(200) 

作为一个纯粹的 mySQL 语句,我的查询是这样的:

SELECT info FROM t1 WHERE (filter & 34603933) = filter;

当然,数字 34603933 是一个参数,随着查询的不同而变化。

问题是loopbackjs是否支持where条件下这样的演算。有人能给我指路吗,或者如果不可能的话建议解决方法?

在文档中 http://docs.strongloop.com/display/public/LB/Where+filter 我没有看到这样做的可能性,但不知何故我无法真正相信它,因为在 where 比较的右侧使用对列值的引用并不罕见,对吧?

我不相信环回具有这种内置和按位支持,并且操作并不广泛(根据我的经验)。您可以尝试原始 SQL 接口:

var mysqlDS = app.dataSources.mysqlDS;
var bitWiseAndValue = 34603933;
mysqlDS.connector.query('SELECT info FROM t1 WHERE (filter & '+bitWiseAndValue+') = filter', function(err) {
  if (err) {return console.log(err);}

  // success actions

});