Depois de criar uma consulta, pode especificar várias opções de obtenção para controlar ainda mais os resultados que devolve. Consulte as consultas da base de dados para obter mais informações sobre a estruturação de consultas para a sua app.
Obter uma única entidade
Para obter apenas uma entidade que corresponda à sua consulta, use o método Query.get()
(ou GqlQuery.get()
):
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
Isto devolve o primeiro resultado encontrado no índice que corresponde à consulta.
Iterar os resultados da consulta
Quando itera os resultados de uma consulta através do método run()
de um objeto Query
ou GqlQuery
, o Cloud Datastore obtém os resultados em lotes. Por predefinição, cada lote contém 20 resultados, mas pode alterar este valor através do parâmetro batch_size
do método. Pode continuar a iterar os resultados da consulta até que todos sejam devolvidos ou o pedido expire.
Obter propriedades selecionadas de uma entidade
Para obter apenas as propriedades selecionadas de uma entidade em vez da entidade completa, use uma consulta de projeção. Este tipo de consulta é executado mais rapidamente e custa menos do que uma consulta que devolve entidades completas.
Da mesma forma, uma consulta apenas com chaves poupa tempo e recursos ao devolver apenas as chaves das entidades que correspondem, em vez das próprias entidades completas. Para criar este tipo de consulta, defina keys_only=True
ao criar o objeto de consulta:
q = Person.all(keys_only=True)
Definir um limite para a sua consulta
Pode especificar um limite para a sua consulta de modo a controlar o número máximo de resultados devolvidos num lote. O exemplo seguinte obtém 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)
O que se segue?
- Conheça as restrições comuns para consultas no Cloud Datastore.
- Saiba mais sobre os cursores de consulta, que permitem a uma aplicação obter os resultados de uma consulta em lotes convenientes.
- Compreenda a consistência dos dados e como funciona com diferentes tipos de consultas no Cloud Datastore.
- Saiba mais sobre a sintaxe e a estrutura básicas das consultas para o Cloud Datastore.