结合条件通过GQL过滤祖先和属性
Combine the conditions to filter ancestor and property by GQL
我正在创建一个端点以通过 GQL 查询我的数据存储,我想指定祖先和 属性,但 GQL 似乎无法结合这两个条件。我错过了什么吗?
我的 GQL 是:
select * from Product where __key__ HAS ANCESTOR Key(modle1, '0') AND timestamp > 0
我使用了图书馆:com.google.cloud.datastore
还有其他方法可以实现我的目标吗?
谢谢大家
好的,我终于找到问题了。
我必须为我的查询上传索引定义。
因此,我遵循本指南 - Cloud Datastore Indexes,尝试上传我的索引。
最后我成功了,但是花了我一晚上的时间。
如果您使用Google Cloud SDK开发您的appengine,上传索引会有一个小提示。
许多问答或文档说您应该使用 appcfg.cmd/appcfg.py/appcfg.sh 上传索引,但是如果您使用 Google Cloud SDK 而不是 Google Appengine SDK 开发应用引擎,你不应该使用那个命令。替换为
gcloud app deploy indexes.yaml
or
gcloud datastore create-indexes
参考:Migrating from AppCfg to gcloud Command Line
无论你用什么开发你的appengine,你都应该写indexes.yaml(如果你用Java开发,你会发现有些文档要求你写datastore-indexes.xml,放弃它,gcloud 似乎不支持它。)。
我正在创建一个端点以通过 GQL 查询我的数据存储,我想指定祖先和 属性,但 GQL 似乎无法结合这两个条件。我错过了什么吗?
我的 GQL 是:
select * from Product where __key__ HAS ANCESTOR Key(modle1, '0') AND timestamp > 0
我使用了图书馆:com.google.cloud.datastore 还有其他方法可以实现我的目标吗?
谢谢大家
好的,我终于找到问题了。
我必须为我的查询上传索引定义。
因此,我遵循本指南 - Cloud Datastore Indexes,尝试上传我的索引。 最后我成功了,但是花了我一晚上的时间。
如果您使用Google Cloud SDK开发您的appengine,上传索引会有一个小提示。
许多问答或文档说您应该使用 appcfg.cmd/appcfg.py/appcfg.sh 上传索引,但是如果您使用 Google Cloud SDK 而不是 Google Appengine SDK 开发应用引擎,你不应该使用那个命令。替换为
gcloud app deploy indexes.yaml
or
gcloud datastore create-indexes
参考:Migrating from AppCfg to gcloud Command Line
无论你用什么开发你的appengine,你都应该写indexes.yaml(如果你用Java开发,你会发现有些文档要求你写datastore-indexes.xml,放弃它,gcloud 似乎不支持它。)。