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