结合条件通过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 似乎不支持它。)。