【发布时间】:2016-02-01 12:56:35
【问题描述】:
我有一个 MySQL 查询来计算今年客户的订单数量:
SELECT COUNT(order_id) FROM orders where year(order_datetime) = year(curdate()) and customer_id = 51;
我在尝试将相同的查询转换为使用 sequelize 时遇到了一些困难。使用此代码,我为所有用户返回 0:
db.orders.findAll({
where: {
order_id: orderID,
attempt_datetime: {
$like: '%' + 2016 + '%'
}
},
attributes: [[sequelize.fn('COUNT', sequelize.col('order_id')), 'ordersThisYear']]
}).then(function (result) {
console.log('THIS YEARs ORDERS', result);
}, function (e) {
console.log(e);
});
我在 webstorm 中也收到以下错误:
弃用警告:时刻构造回退到 js 日期。这是不鼓励的,将在即将发布的主要版本中删除。 请参考https://github.com/moment/moment/issues /1407 了解更多信息。参数:[object 对象]
【问题讨论】:
-
这不是为了续集,但
moment.js你在你的应用程序中使用它吗?在哪里?怎么样? -
顺便说一句,您的
sequelize版本是什么? -
不,我根本不使用 moment.js。我认为这与 $like: '%' + 2016 + '%' 有关。续集版本 3.18.0
-
除此警告外,您的代码是否有效?
-
不,它每次都返回 0,它运行但应该为每个用户得到不同的答案,尽管一切都返回为 0
标签: javascript mysql node.js sequelize.js