1. ホーム
  2. google-app-engine

GQLでエンティティキーを使ってクエリを実行する方法

2023-11-22 14:05:31

質問

Google App Engine Data ViewerでGQLを使用してエンティティキーに対するクエリを書くにはどうすればよいですか?

ビューアでは、最初のカラム(Id/Name)は次のように表示されます。 name=_1 と表示され、詳細表示ではキーが

Decoded entity key: Programme: name=_1
Entity key: agtzcG9................... 

このクエリは動作しません。

SELECT * FROM Programme where name = '_1'

どのように解決するのですか?

エンティティのキーを使って取得することができます。

SELECT * FROM Programme where __key__ = KEY('agtzcG9...................')

そして、同様に名前を使って問い合わせることができるはずです。

SELECT * FROM Programme where __key__ = KEY(Programme, '_1')

これはAppEngineアプリケーションで行うことではないことに注意してください。この例は、管理コンソールでKeyによるクエリを実行する方法を示すのに適しているだけです。