Filtern einer GAE-Abfrage
Beim Versuch, eine GAE-Abfrage zu filtern, tritt häufig ein Problem auf, wenn der Filter unwirksam erscheint. Um dieses Problem zu lösen, ist es wichtig zu verstehen, wie die Query.Filter()-Methode funktioniert.
Die Query.Filter()-Methode gibt eine abgeleitete Abfrage zurück, die den angegebenen Filter enthält. Es ist jedoch wichtig, den Rückgabewert einer neuen Variablen zuzuweisen, um den Filter beizubehalten:
Alternativ kann die neue Filterung in einer einzigen Zeile erreicht werden:
Ohne In diesem Schritt verfügt die ausgeführte Abfrage über keine Filter, was zum Abruf aller gespeicherten „Mitarbeiter“-Entitäten führt. Folglich könnte „Joe Citizen“ die erste gedruckte Entität sein.
Außerdem muss die eventuelle Konsistenz berücksichtigt werden. Nach der Ausführung einer Put()-Operation sieht die nachfolgende Abfrage aufgrund der Verwendung des Entwicklungs-SDK möglicherweise nicht sofort die erwarteten Ergebnisse. Um dieses Problem zu beheben, kann vor der Ausführung der Abfrage ein time.Sleep() eingeführt werden:
In der Produktion kann eine starke Konsistenz simuliert werden, indem ein Kontext mit der folgenden Option erstellt wird:
Es ist jedoch wichtig zu beachten, dass Vorfahrenschlüssel für stark konsistente Ergebnisse in der Produktion verwendet werden sollten.
Das obige ist der detaillierte Inhalt vonWarum werden meine Google App Engine-Datenspeicherabfragen nicht richtig gefiltert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!