クエリ結果の取得
bookmark_borderbookmark
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
クエリを作成した後、さまざまな取得オプションを指定して、クエリから返される結果をさらに制御できます。アプリに対するクエリの構成について詳しくは、データストア クエリをご覧ください。
単一のエンティティを取得する
クエリと一致する単一のエンティティを取得するには、PreparedQuery.asSingleEntity()
メソッドを使用します。
このメソッドは、インデックスで最初に見つかった、クエリと一致する結果を返します(一致する結果が複数ある場合は、TooManyResultsException
がスローされます)。
クエリ結果を反復処理する
PreparedQuery.asIterable()
メソッドと PreparedQuery.asIterator()
メソッドを使用してクエリの結果を反復処理する場合、Cloud Datastore はバッチで結果を取得します。デフォルトでは、各バッチに 20 件の結果が含まれますが、この値は FetchOptions.chunkSize()
を使用して変更できます。すべての結果が返されるかリクエストがタイムアウトするまでクエリ結果の反復処理を繰り返すことができます。
エンティティから選択したプロパティを取得する
エンティティ全体ではなくエンティティのプロパティの中から選択したもののみを取得するには、射影クエリを使用します。このタイプのクエリは、エンティティ全体を返すよりも迅速かつ低コストで実行できます。
同様に、キーのみのクエリではエンティティ全体ではなく一致するエンティティのキーのみが返されるので、時間とリソースを節約できます。このタイプのクエリを作成するには、Query.setKeysOnly()
メソッドを使用します。
クエリに上限を設定する
クエリに対して上限を設定することで、1 つのバッチで返される結果の最大数を制御できます。次の例では、最も背の高い 5 名を Cloud Datastore から取得します。
次のステップ
- Cloud Datastore のクエリにおける一般的な制限について学習します。
- クエリの結果を一括して取得できるクエリカーソルについて学習します。
- データの整合性とそれが Cloud Datastore における異なるタイプのクエリでどのように動作するか理解します。
- Cloud Datastore のクエリの基本的な構文と構造について学習します。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-03-13 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-13 UTC。"],[[["This API supports first-generation runtimes and is applicable when upgrading to corresponding second-generation runtimes, while migration to Java 11/17 runtimes requires referring to a specific migration guide."],["`PreparedQuery.asSingleEntity()` retrieves a single entity matching a query, throwing a `TooManyResultsException` if multiple matches exist."],["`PreparedQuery.asIterable()` and `PreparedQuery.asIterator()` allow iterating through query results in batches, with the batch size adjustable via `FetchOptions.chunkSize()`."],["Projection queries retrieve only selected properties, and keys-only queries retrieve only keys, both being faster and less resource-intensive than full-entity queries."],["A limit can be set on queries to control the maximum number of results, as demonstrated in the example that retrieves the five tallest people."]]],[]]