Después de crear una consulta, puedes especificar varias opciones de recuperación para controlar aún más los resultados que devuelve. Consulta Consultas de Datastore para obtener más información sobre cómo estructurar las consultas de tu aplicación.
Obtener una sola entidad
Para recuperar una sola entidad que coincida con su consulta, utilice el método Query.get()
(o GqlQuery.get()
):
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
Devuelve el primer resultado encontrado en el índice que coincide con la consulta.
Iterar los resultados de las consultas
Al iterar los resultados de una consulta mediante el método run()
de un objeto Query
o GqlQuery
, Cloud Datastore obtiene los resultados en lotes. De forma predeterminada, cada lote contiene 20 resultados, pero puede cambiar este valor mediante el parámetro batch_size
del método. Puedes seguir iterando resultados de consultas hasta que se devuelvan todas o hasta que se agote el tiempo de espera de la solicitud.
Obtener las propiedades seleccionadas de una entidad
Para recuperar solo las propiedades seleccionadas de una entidad en lugar de la entidad completa, usa una consulta de proyección. Este tipo de consulta se ejecuta más rápido y cuesta menos que una que devuelve entidades completas.
Del mismo modo, una consulta de solo claves ahorra tiempo y recursos, ya que devuelve solo las claves de las entidades que coinciden, en lugar de las entidades completas. Para crear este tipo de consulta, define keys_only=True
al construir el objeto de consulta:
q = Person.all(keys_only=True)
Definir un límite para una consulta
Puedes especificar un límite para tu consulta y controlar el número máximo de resultados devueltos en un lote. En el siguiente ejemplo se obtienen las cinco personas más altas de 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)
Siguientes pasos
- Consulta las restricciones habituales de las consultas en Cloud Datastore.
- Consulta información sobre los cursores de consulta, que permiten a una aplicación obtener los resultados de una consulta en lotes.
- Consulta información sobre la coherencia de los datos y cómo funciona con los distintos tipos de consultas en Cloud Datastore.
- Consulta la sintaxis y la estructura básicas de las consultas de Cloud Datastore.