我正在尝试使用云代码在 Parse.com 中获取以下 sql 命令的结果。
选择商店,按商店从成员(member)组中计数(1);
有办法吗?或者我只能通过选择每个商店来获取成员(member)数量?
var query = new Parse.Query("Membership");
query.equalTo("shop",shop_id);
var promise = query.find().then(function(results){
var number_of_membership_of_one_shop = results.leng
return results;
});
最佳答案
不幸的是,解析不支持分组依据。
您可以先选择所有商店,然后对每个商店使用计数查询。
var query = new Parse.Query("Membership");
query.equalTo("shop",shop_id);
var promise = query.count().then(function(count){
var number_of_membership_of_one_shop = count;
return number_of_membership_of_one_shop;
});
如果这执行了太多请求,您可以选择所有成员资格,然后在客户端上对它们进行计数,但这将有 1000 个限制,因此您可能需要采用一些其他技术:
var query = new Parse.Query("Membership");
query.select("shop_id");
query.limit(1000);
var storeCounts = [];
queryObject.find({
success: function (results) {
for (var i = 0; i < results.length; i++) {
var shopId = results[i].get('shop_id');
if (!storeCounts[shopId]) {
storeCounts[shopId] = 0;
}
storeCounts[shopId]++;
}
},
error: function (error) {
alert("Error: " + error.code + " " + error.message);
}
});
关于javascript - Parse.com 云代码中的按查询分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737167/