我想使用查询(可能是GQL
?)从我的谷歌应用引擎数据存储中获取KINDS
列表。例如,简单地显示数据库表
的方式。
我看过一个类似的问题 ( How to list kinds in datastore? ),但是它并没有解决我的问题,因为它是特定于 python 的。
我目前正在使用 PHP (https://github.com/tomwalder/php-gds) 中的 GDS 库,如果我知道使用 "SELECT * FROM Kind"
GQL 查询的实体名称,它可以帮助我从 GDS 获取数据。
我目前处于一种情况,我可能不知道我需要从中获取数据的实体种类的名称,因此需要获取实体种类的列表,然后我可以查看并确认该实体是否存在,然后运行我的选择查询。
如有任何指点,我们将不胜感激。
最佳答案
这是基于 GQL 的替代方法...这将返回可用种类的列表:
SELECT * FROM __kind__
理论上,您可以通过列出给定 Kind(例如,Person)的关联属性来获取此对象的架构:
SELECT * FROM __property__
WHERE __key__ HAS ANCESTOR KEY(__kind__, 'Person')
如果您使用 Google 的库发出这些查询,则必须在请求中设置 AllowLiterals = true
属性,以避免出现错误异常详细说明 Disallowed literal: KEY
。
此外,由于 property_representation
值对于诸如 Dates 与 Integers 之类的东西是重载的,因此您只能使用类型数据作为基础类型的猜测,可能使用约定。当您浏览数据时,您可以更新类型信息。奇怪的是,没有更好的方法,因为当您创建实体的新实例时,Google 的数据存储 UI 会提供类型信息。
关于php - 有没有办法使用查询获取所有谷歌数据存储区 "KIND"的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34552748/