2017-11-26 2 views
0

데이터가 삽입/업데이트되는 간단한 애플리케이션에 대해 Cloud Datastore을 평가 중이며 시간 범위 기반 집계 쿼리 그룹이 실행됩니다.Google Cloud Datastote : Groupby 쿼리 및 복합 집계

클라우드 데이터 저장소 문서가 기본

query language description. 어떻게 우리가 할 수있는 클라우드 데이터 저장소 쿼리를 사용하여 여러 분야에 groupby 쿼리?

또한 데이터 저장소는 복잡한 집계 쿼리를 제공합니까, 아니면 단순한 가져 오기, 정렬, 프로젝트 쿼리 만 실행할 수 있습니까?

샘플 데이터 :

{ 
    "name": "user1", 
    "state": "V", 
    "status": "verified" 
} { 
    "name": "user2", 
    "state": "C", 
    "status": "non-verified" 
} { 
    "name": "user3", 
    "state": "T", 
    "status": "non-verified" 
} { 
    "name": "user4", 
    "state": "M", 
    "status": "verified" 
} 

예상 결과 :

{ "users" : "user4", "count" : 1 } 
{ "user" : "user3", "count" : 1 } 
{ "user" : "user2", "count" : 1 } 
{ "user" : "user1", "count" : 1 } 

은 내가 mongodb aggregation

가이드하시기 바랍니다 제공의 더 복잡한 집계 정렬을 실행하는 계획입니다.

답변

0

Datastore에서이를 수행 할 방법이 없습니다. Datastore 쿼리 언어는 매우 가난합니다. Mongo 세계의 집계 쿼리 (또는 SQL 세계의 조인)가 없습니다. 또한 mongoDb에서 본 것과 같은 그룹화 기능이 없습니다. 쿼리에서만 구별되지만 제공된 속성 목록 (프로젝션) https://cloud.google.com/datastore/docs/concepts/queries#projection_queries을 포함하는 첫 번째 레코드를 반환합니다.

관계가있는 데이터 구조의 경우 Datastore 대신 다른 옵션 (SQL 또는 Mongo)을 선택합니다. Datastore, 나는 다른 작업과 강하지 않은 관계형 데이터에 가장 적합하다고 생각합니다.

언제나 사용할 수 있지만 모든 데이터 집계 및 조인은 데이터베이스 수준이 아닌 코드 수준에서 수행되므로 조심해야합니다.