Após a criação de uma consulta, é possível especificar várias opções de recuperação para controlar ainda mais os resultados retornados. Acesse Consultas do Datastore para mais informações sobre a estruturação de consultas para o aplicativo.
Como recuperar uma única entidade
Para recuperar apenas uma entidade correspondente à sua consulta, use o método Query.get()
(ou GqlQuery.get()
):
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
Isso retorna o primeiro resultado encontrado no índice que corresponde à consulta.
Como iterar pelos resultados de consulta
Ao iterar os resultados de uma consulta usando o método run()
de um objeto Query
ou GqlQuery
, o Cloud Datastore recupera os resultados em lotes. Por padrão, cada lote contém 20 resultados, mas você pode alterar esse valor usando o parâmetro batch_size
do método. É possível continuar iterando pelos resultados da consulta até que todos sejam retornados ou a solicitação expire.
Como recuperar propriedades selecionadas de uma entidade
Para recuperar apenas as propriedades selecionadas de uma entidade, e não toda a entidade, use uma consulta de projeção. Esse tipo de consulta é executado com maior rapidez e custa menos que uma consulta que retorna entidades completas.
Da mesma forma, uma consulta somente de chaves economiza tempo e recursos ao retornar apenas as chaves das entidades correspondentes, e não as entidades completas. Para criar esse tipo de consulta, defina keys_only=True
ao criar o objeto de consulta:
q = Person.all(keys_only=True)
Como definir um limite para a consulta
Você pode especificar um limite para a consulta para controlar o número máximo de resultados retornados em um lote. No exemplo a seguir, recuperamos as cinco pessoas mais altas do Cloud Datastore:
q = Person.all()
q.order("-height")
for p in q.run(limit=5):
print "%s %s, %d inches tall" % (p.first_name, p.last_name, p.height)
Próximas etapas
- Conheça as restrições comuns para consultas no Cloud Datastore.
- Saiba mais sobre os cursores de consulta, que permitem que um aplicativo recupere os resultados de uma consulta em lotes convenientes.
- Entenda a consistência dos dados e como ela funciona com diferentes tipos de consultas no Cloud Datastore.
- Conheça a sintaxe básica e a estrutura das consultas do Cloud Datastore.