0

Ich habe einige Daten im GAE-Datenspeicher mit dem Android Studio-Back-End gespeichert und kann dies in der Datenspeicherkonsole sehen. Wenn ich versuche, die Daten aus demselben Back-End in meiner App mithilfe von Abfragen abzurufen, wird jedoch überhaupt nichts zurückgegeben. Es wirft auch keinen Fehler auf. Hier ist der Code-Schnipsel, die angeblich die Entitäten der Art „Match“ abzurufen:GAE-Datenspeicher Abfrage abfragen, die nichts zurückgibt

 Date date=new Date(); 
     Filter filter=new FilterPredicate("matchTime", FilterOperator.GREATER_THAN,date); 
     Query qry=new Query("Match").setFilter(filter); 
     PreparedQuery pq=datastoreService.prepare(qry); 
     List<Entity> entities=pq.asList(FetchOptions.Builder.withLimit(5)); 

Hier ist, was ich habe bereits versucht:

  • dem Filter entfernt und nur verwendet: Abfrage qry = new Abfrage ("Match")
  • Abfrage mit dem übergeordneten Schlüssel versucht, obwohl in meinem Verständnis, dass eine Teilmenge der Abfrage ohne übergeordneten Schlüssel sein sollte.

In allen Fällen habe ich nur eine leere Liste ohne Fehler. Bitte schlage vor, was ich hier falsch mache. Die Put-Operationen, die ich zu verschiedenen Zeiten ausgeführt habe, haben gut funktioniert, also muss etwas mit der Abfrage geschehen.

Antwort

0

Es ist nichts falsch mit Ihrem Code.

Überprüfen Sie, ob Sie die richtige Entity-Art verwenden ("Match" in Ihrem Code). Ich verwende statische Konstanten für Arten und Eigenschaftsnamen. Viele Entwickler verwenden Klassennamen für Arten. In beiden Fällen besteht die Idee darin, Tippfehler zu vermeiden, wenn die Abfrage mit einem Art- oder Eigenschaftsnamen versehen wird.

+0

Danke, das war wirklich hilfreich. –

Verwandte Themen