Une fois que vous avez créé une requête, vous pouvez spécifier un certain nombre d'options de récupération de façon à mieux contrôler les résultats qu'elle renvoie. Pour en savoir plus sur la structuration des requêtes pour l'application, consultez la page Requêtes Datastore.
Récupérer une seule entité
Pour récupérer une seule entité correspondant à votre requête, utilisez la méthode PreparedQuery.asSingleEntity()
:
Cette méthode renvoie le premier résultat de l'index correspondant à la requête.
(S'il existe plusieurs résultats correspondants, une exception TooManyResultsException
est générée.)
Appliquer une itération aux résultats de la requête
Lors de l'itération des résultats d'une requête à l'aide des méthodes PreparedQuery.asIterable()
et PreparedQuery.asIterator()
, Cloud Datastore récupère les résultats par lots. Par défaut, chaque lot contient 20 résultats, mais vous pouvez modifier cette valeur à l'aide de FetchOptions.chunkSize()
. Vous pouvez continuer à appliquer l'itération aux résultats de la requête jusqu'à ce que tous les résultats soient renvoyés ou jusqu'à l'expiration de la requête.
Récupérer certaines propriétés d'une entité
Pour ne récupérer que certaines propriétés d'une entité plutôt que l'entité entière, utilisez une requête de projection. Ce type de requête s'exécute plus rapidement et coûte moins cher qu'une requête renvoyant des entités entières.
De même, une requête ne contenant que des clés permet de gagner du temps et d'économiser des ressources en ne renvoyant que les clés aux entités auxquelles elle correspond, plutôt que les entités entières elles-mêmes. Pour créer ce type de requête, utilisez la méthode Query.setKeysOnly()
:
Définir une limite pour la requête
Vous pouvez spécifier une limite pour la requête afin de contrôler le nombre maximal de résultats renvoyés dans un lot. L'exemple suivant récupère les cinq personnes les plus grandes depuis Cloud Datastore :
Étapes suivantes
- Découvrez les restrictions courantes appliquées au niveau des requêtes sur Cloud Datastore.
- Apprenez-en plus sur les curseurs de requêtes, qui permettent à une application de récupérer les résultats d'une requête sous forme de lots pratiques.
- Comprenez la cohérence des données et son fonctionnement avec différents types de requêtes sur Cloud Datastore.
- Découvrez la syntaxe et la structure de base des requêtes pour Cloud Datastore.