Sails.js/waterline: groupBy + 计数

Sails.js/waterline: groupBy + count

使用 sails.js (0.10.5):

我不知道如何使用 waterline/sails 实现 groupBy/count。我想要的是:

SELECT customer_id, COUNT('') FROM customer_data GROUP BY customer_id;
or
SELECT customer_id, SUM(1) FROM customer_data GROUP BY customer_id;

我无法使用 count 或 sum(使用常量)实现此目的:

Customer.find({ groupBy:['customer_id'], count: true })
or
Customer.find({ groupBy:['customer_id'], sum: [1] })

第一个 "missing calculation" 和第二个 "SQL syntax error" 都将以错误结束。 我可以使用现有列 (sum: ['id']) 的总和进行分组,但这并没有让我得到计数​​。

我使用的API错了吗?

请使用Customer.query('SELECT customer_id, SUM(1) FROM customer_data GROUP BY customer_id', function(err,results){})

如果你不想使用sql,你可以这样使用 Customer.find({groupBy:'customer_id'}).exec

参考:waterline-sequel select builder function

.query() 从 Sails v1.0 开始被弃用,而是使用 .getDatastore().sendNativeQuery()(参考:https://sailsjs.com/documentation/reference/waterline-orm/models/query)。仍然没有办法用 Waterline 做到这一点。