ali-sdk / ali-rds

Aliyun RDS client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

where 是否可以支持比较?

musicode opened this issue · comments

源码如下:

proto._where = function(where) {
  if (!where) {
    return '';
  }

  const wheres = [];
  const values = [];
  for (const key in where) {
    const value = where[key];
    if (Array.isArray(value)) {
      wheres.push('?? IN (?)');
    } else {
      wheres.push('?? = ?');
    }
    values.push(key);
    values.push(value);
  }
  if (wheres.length > 0) {
    return this.format(' WHERE ' + wheres.join(' AND '), values);
  }
  return '';

};

看起来仅支持 IN=,但是 != 和其他常用比较运算符也很有用啊,为啥不能顺便支持呢?

还是说,官方推荐,其他比较运算符,自己写 SQL 呢?

!=, >, >=, <, <= 这几个方便支持下吗

有时候查询因为有这几个运算符就要写整句 SQL,实在是让代码可读性差了好多

commented

急切需要这几个运算符

这个库是不是没人维护了啊,每次碰到这个问题,都想来这吐槽

看到没人维护了 我也遇到问题了

我也在找这个的支持,看来没有。 egg.js 内使用了这个库。

有替代的mysql 库吗?

commented

同求 yong egg 的时候 发现这个,如果比较不支持的话,就干脆全部用sql,内置的写法没什么必要了,不然代码里面搞2种写法也麻烦,求解

2023年过来考古的,没想到这个问题2017年已经提出来了,但是到现在都没有解决,而且看作者的意思的话,估计是不打算处理了.因为我在egg-mysql那边看到了,直接就是说 用 query 解决的.

我都放弃 nodejs 了,node 只适合作为胶水层,不建议在这层加重逻辑,操作数据库就更不建议了