2017-11-26 2 views
0

データが挿入/更新され、時間範囲ベースの集約クエリのグループが実行される単純なアプリケーションでは、Cloud Datastoreと評価されています。Google Cloud Datastote:Groupbyクエリと複合アグリゲーション

クラウドデータストアのドキュメントでは、基本的なquery language description.

はどのように我々は、クラウドデータストアクエリを使用して、複数のフィールドにgroupbyクエリを行うことができますか?

また、クラウドデータストアは複雑な集約クエリを提供するのか、単純なget、sort、projectクエリのみを実行できますか?

サンプルデータ:

{ 
    "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を含む最初のレコードが返されます。

リレーションを持つデータ構造では、データストアの代わりに別のオプション(SQLまたはMongo)を選択します。 Datastore、私は他の仕事や強く関係のないデータに最適だと思います。

いつでも使用できますが、すべてのデータ集約と結合はdbレベルではなくコードレベルで行われることを覚えておいてください。

関連する問題