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