语言:Python。在
我使用的是数据存储python库,一切正常。当使用datastorequery对查询结果进行排序时,我可以添加query.order = ['name'];
来对结果进行排序。但是当查询具有祖先的表时,例如:
ancestor = client.key('user', name, namespace = NAMESPACE)
query = client.query(kind='project', ancestor=ancestor, namespace = NAMESPACE)
然后我设置顺序:query.order = ['name'];
,它不起作用。我想对种类project
排序,它的祖先是kinduser
。
错误消息是:“400没有找到匹配的索引。推荐索引为:种类:项目祖先:是属性:名称,为yaml样本。但我这里不用山药。虽然我想一定会有结果的。在
所有数据存储查询都是基于索引的。来自Indexes:
您得到的错误来自数据存储端,表明数据存储中缺少特定查询所需的索引。它与执行祖先查询和/或在应用程序代码中使用yaml无关。在
yaml引用只是根据索引部署到数据存储的方式(这是您的查询工作所需的),请参见Deploying or deleting indexes。在
因此,您需要创建一个
index.yaml
文件,该文件至少包含错误消息中指示的索引规范(以及其他查询可能需要的任何其他索引,如果有的话),将其部署到数据存储中,等待索引进入Indexes页上的Serving
状态(这可能需要一段时间),之后您的查询应该工作。在相关问题 更多 >
编程相关推荐