sequelize between用法问题

发布于 2022-09-06 19:36:00 字数 382 浏览 6 评论 0

sequelize between不好用,代码这么写,但是打印出来的sql语句不对

const aaa = await DailyInfo.findAll({ // 
  where: {
    user_id: query.user_id,
    created_at: {
      $between: ['2018-03-01', '2018-03-15']
    }
  }
});    

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℡寂寞咖啡 2022-09-13 19:36:00

说明 between 这个 operator 没有生效,有可能是 http://docs.sequelizejs.com/m... 的原因。
把 operatorsAliases 加上试试:

const Sequelize = require('sequelize');

const Op = Sequelize.Op;      
const operatorsAliases = {
    $eq: Op.eq,
    $ne: Op.ne,
    $gte: Op.gte,
    $gt: Op.gt,
    $lte: Op.lte,
    $lt: Op.lt,
    $not: Op.not,
    $in: Op.in,
    $notIn: Op.notIn,
    $is: Op.is,
    $like: Op.like,
    $notLike: Op.notLike,
    $iLike: Op.iLike,
    $notILike: Op.notILike,
    $regexp: Op.regexp,
    $notRegexp: Op.notRegexp,
    $iRegexp: Op.iRegexp,
    $notIRegexp: Op.notIRegexp,
    $between: Op.between,
    $notBetween: Op.notBetween,
    $overlap: Op.overlap,
    $contains: Op.contains,
    $contained: Op.contained,
    $adjacent: Op.adjacent,
    $strictLeft: Op.strictLeft,
    $strictRight: Op.strictRight,
    $noExtendRight: Op.noExtendRight,
    $noExtendLeft: Op.noExtendLeft,
    $and: Op.and,
    $or: Op.or,
    $any: Op.any,
    $all: Op.all,
    $values: Op.values,
    $col: Op.col
};

const sequelize = new Sequelize('db', 'user', 'pass', {
   
    host: 'localhost',
    dialect: 'mysql',
    pool: {},

    operatorsAliases: operatorsAliases,  //操作符安全
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文