Malheureusement, il ne semble pas être un moyen d'écrire une requête équivalente à
SELECT * FROM Model WHERE id = <numeric_id>
qui sélectionnerait toutes les entités Modèle avec l'ID donné. Si vous êtes ok avec quelque chose d'équivalent à
SELECT * FROM Model WHERE id = <numeric_id> AND parent IS NULL
vous pouvez utiliser quelque chose comme
SELECT * FROM Model where __key__ = KEY('Model', <numeric_id>)
Si votre entité a un parent bien, vous aurez besoin de préciser que dans le cadre de la clé, comme
SELECT * FROM Model where __key__ = KEY('ParentModel', <parent_name_or_id>, 'Model', <numeric_id>)
Si le parent lui-même a un parent, vous devrez également le spécifier. (Grand-parent prend la gauche du parent, etc.)
Bien sûr, si vous n'êtes pas limité à GQL (comme si vous utilisez Python, Go ou Java), vous pouvez interroger les clés, les décoder et filtrez par ID, puis récupérez les entités correspondantes. Mais bien sûr, cela ne fonctionne pas dans Datastore Viewer puisque vous ne pouvez utiliser que GQL.
Merci, ça marche! –
GQL! Comment ne peux-tu pas l'aimer?/irony – Nilzor
Cela fait une correspondance complète sur la clé plutôt que sur la partie ID de la clé. Je voudrais obtenir toutes les entités avec l'identifiant numérique donné, pas seulement celui avec aucun parent. – aij