GQL-Abfrage für fehlend

8

Wenn Sie Datenmodelle in der App-Engine ändern, um neue Eigenschaften hinzuzufügen, werden diese Einträge ohne eine bestimmte Eigenschaft im Online-Datenviewer mit dem Wert <missing> aufgelistet.

Ich frage mich, wie kann ich eine Abfrage schreiben, um diese Einträge zu finden?

    
Swizec Teller 06.09.2010, 15:23
quelle

3 Antworten

8

Es gibt keine direkte Möglichkeit, nach älteren Entitäten mit fehlendem Attribut zu suchen, aber Sie können das Datenmodell im Voraus entwerfen, um dies zu unterstützen. Fügen Sie jeder Modellklasse ein Attribut version hinzu. Die Version sollte einen Standardwert haben, der bei jeder Änderung und Bereitstellung der Modellklasse erhöht wird. Auf diese Weise können Sie Entitäten nach Versionsnummer abfragen.

    
Constantin 08.09.2010, 12:14
quelle
4

Es gibt keine Möglichkeit, den Datenspeicher für Entitäten abzufragen, die keine bestimmte Eigenschaft besitzen. Sie müssen über alle Entitäten iterieren und diese überprüfen - möglicherweise mithilfe der MapReduce-API .

>     
Nick Johnson 06.09.2010 15:48
quelle
0

Oder Sie könnten ein Skript erstellen, das für alle aktuellen Elemente, für die diese Eigenschaft nicht verwendet wird, null mit der Low-Level-Datenspeicher-API festlegt. Dann können Sie auf null abfragen.

Ich hatte dieses Problem und so habe ich es gelöst. Der grobe Code würde wie folgt aussehen:

%Vor%     
Shaun 06.01.2014 21:57
quelle

Tags und Links