2015-01-02 2 views
1

클라우드 코드를 사용하여 Parse.com에서 다음 sql 명령의 결과를 얻으려고합니다.By Query in Parse.com 클라우드 코드

셀렉트 숍, 카운트 (1) from shop 회원 그룹 by shop;

이렇게 할 방법이 있습니까? 또는 각 매장을 선택하는 데 필요한 구성원 수만 확보 할 수 있습니까?

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; 
    }); 
+1

밑줄이 필요하고 _.groupBy() – danh

답변

1

파스는 불행히도 그룹별로 지원하지 않습니다.

먼저 모든 상점을 선택하고 각 상점에 카운트 쿼리를 사용할 수 있습니다. 이 너무 많은 요청을 수행하는 경우

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); 
    } 
}); 
+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 사실 parse query API로부터 {shop, number_of_members}의 배열을 얻으려고하고있다. 상점 하나 하나를 질의하고 싶지는 않습니다. 내가 모르는 group_by 함수가 있습니까? –

+0

이것이 원하는 것입니까? –

+0

Parse.com이 Group_by를 지원하지 않는다고 생각합니다. http://stackoverflow.com/questions/22319841/efficient-way-to-query –

관련 문제