クエリを作成した後、さまざまな取得オプションを指定して、クエリから返される結果をさらに制御できます。アプリに対するクエリの構成について詳しくは、データストア クエリをご覧ください。
クエリ結果を反復処理する
Query 値の Run メソッドを使用してクエリの結果を反復処理する場合、Datastore は結果をバッチで取得します。デフォルトでは、各バッチに 20 件の結果が含まれています。 すべての結果が返されるかリクエストがタイムアウトするまで、クエリ結果の反復処理を繰り返すことができます。
Run メソッドを使用して Iterator を取得します。これにより、Iterator の Next メソッドを使用して各エンティティを処理できます。
クエリと一致するすべてのエンティティを一度に取得するには、GetAll メソッドを使用します。
エンティティから選択したプロパティを取得する
エンティティ全体ではなくエンティティのプロパティの中から選択したもののみを取得するには、射影クエリを使用します。このタイプのクエリは、エンティティ全体を返すよりも迅速かつ低コストで実行できます。
同様に、キーのみのクエリではエンティティ全体ではなく一致するエンティティのキーのみが返されるので、時間とリソースを節約できます。この種のクエリを作成するには、 Query を作成するときに KeysOnly メソッドを呼び出します。。
クエリに上限を設定する
クエリに対して上限を設定することで、1 つのバッチで返される結果の最大数を制御できます。次の例では、最も背の高い 5 名を Datastore から取得します。
次のステップ
- Datastore のクエリにおける一般的な制限について学習する。
- クエリの結果を一括して取得できるクエリカーソルについて学習する。
- データの整合性と、Datastore 上のさまざまなタイプのクエリでデータの整合性がどのように動作するかについて理解する。
- Datastore のクエリの基本的な構文と構造について学習する。