Nachdem Sie eine Abfrage erstellt haben, können Sie verschiedene Abrufoptionen festlegen, um die gelieferten Ergebnisse noch gezielter einzugrenzen. Weitere Informationen zum Strukturieren von Abfragen für Ihre Anwendung finden Sie unter Datastore-Abfragen.
Einzelne Entität abrufen
Zum Abrufen einer einzelnen Entität, die mit Ihrer Abfrage übereinstimmt, verwenden Sie die Methode Query.get()
(oder GqlQuery.get()
):
q = Person.all()
q.filter("last_name =", target_last_name)
result = q.get()
Dies gibt das erste Ergebnis im Index zurück, das mit der Abfrage übereinstimmt.
Abfrageergebnisse durchlaufen
Beim Durchsuchen der Ergebnisse einer Abfrage mithilfe der run()
-Methode eines Query
- oder GqlQuery
-Objekts ruft Cloud Datastore die Ergebnisse in Batches ab. Standardmäßig enthält jeder Batch 20 Ergebnisse. Sie können diesen Wert jedoch mit dem Parameter batch_size
der Methode ändern. Sie können die Abfrageergebnisse durchlaufen, bis alle Ergebnisse zurückgegeben sind oder eine Zeitüberschreitung eintritt.
Ausgewählte Attribute einer Entität abrufen
Wenn Sie anstatt einer vollständigen Entität nur eine Auswahl der zugehörigen Attribute abrufen möchten, verwenden Sie eine Projektionsabfrage. Dieser Abfragetyp wird schneller ausgeführt und kostet weniger als Abfragen, die vollständige Entitäten zurückgeben.
Analog dazu können Sie mit ausschließlich schlüsselbasierten Abfragen Zeit und Ressourcen sparen, da damit nur die Schlüssel für die übereinstimmenden Entitäten zurückgegeben werden und nicht die vollständigen Entitäten. Sie verwenden die Methode keys_only=True
, um diese Art von Abfrage zu erstellen:
q = Person.all(keys_only=True)
Limits für Abfragen festlegen
Sie können ein Limit für die Abfrage festlegen, um die Anzahl der in einem Batch zurückgegebenen Ergebnisse zu begrenzen. Im folgenden Beispiel werden die fünf größten Personen aus Cloud Datastore abgerufen:
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)
Weitere Informationen
- Informieren Sie sich über die allgemeinen Einschränkungen für Abfragen in Cloud Datastore.
- Erfahren Sie mehr über Abfrage-Cursors, mit denen eine Anwendung die Ergebnisse einer Abfrage in praktischen Batches abrufen kann
- Machen Sie sich mit dem Begriff der Datenkonsistenz vertraut und erfahren Sie, wie die Datenkonsistenz bei verschiedenen Abfragetypen in Cloud Datastore funktioniert.
- Grundlegende Syntax und Struktur von Abfragen in Cloud Datastore