Dopo aver creato una query, puoi specificare una serie di opzioni di recupero per controllare ulteriormente i risultati restituiti. Per ulteriori informazioni sulla strutturazione delle query per la tua app, consulta le query Datastore.
Recupero di una singola entità
Per recuperare una sola entità corrispondente alla tua query, utilizza il metodo PreparedQuery.asSingleEntity()
:
Viene restituito il primo risultato trovato nell'indice che corrisponde alla query.
Se sono presenti più risultati corrispondenti, viene generato un TooManyResultsException
.
Eseguire l'iterazione dei risultati delle query
Quando esegui l'iterazione dei risultati di una query utilizzando i metodi PreparedQuery.asIterable()
e PreparedQuery.asIterator()
, Cloud Datastore recupera i risultati in batch. Per impostazione predefinita, ogni batch contiene 20 risultati, ma puoi modificare questo valore utilizzando FetchOptions.chunkSize()
. Puoi continuare a eseguire l'iterazione dei risultati della query finché non vengono restituiti tutti o il tempo di attesa della richiesta scade.
Recupero di proprietà selezionate da un'entità
Per recuperare solo proprietà selezionate di un'entità anziché l'intera entità, utilizza una query di proiezione. Questo tipo di query viene eseguito più velocemente e costa meno di una che restituisce entità complete.
Analogamente, una query basata solo su chiavi consente di risparmiare tempo e risorse restituendo solo le chiavi delle entità a cui corrisponde, anziché le entità stesse. Per creare questo tipo di query, utilizza il metodo Query.setKeysOnly()
:
Impostare un limite per la query
Puoi specificare un limite per la query per controllare il numero massimo di risultati restituiti in un batch. L'esempio seguente recupera le cinque persone più alte da Cloud Datastore:
Passaggi successivi
- Scopri le limitazioni comuni per le query su Cloud Datastore.
- Scopri di più sui cursori di query, che consentono a un'applicazione di recuperare i risultati di una query in comodi batch.
- Comprendi la coerenza dei dati e come funziona con diversi tipi di query su Cloud Datastore.
- Scopri la sintassi e la struttura di base delle query per Cloud Datastore.