我将comment实体存储在 Datastore 中,并Datastore Viewer用于查看存储的数据。我可以做以下查询select * from comment select __key__ from commentselect Subject from commentselect Comment from comment但我无法查询select Subject, Comment from comment// Error: The suggested index for this query is:// - kind: comment// properties:// - name: Comment// - name: Subjectselect __key__, Subject, Comment from comment// Error: projections are not supported for the property: __key__我找不到任何参考为什么它是错误的。这些错误并没有告诉我太多。我没有为这些实体设置任何键或索引。文档说明如下:SELECT [DISTINCT] [* | <property list> | __key__] [FROM <kind>] [WHERE <condition> [AND <condition> ...]] [ORDER BY <property> [ASC | DESC] [, <property> [ASC | DESC] ...]] [LIMIT [<offset>,]<count>] [OFFSET <offset>] <property list> := <property> [, <property> ...] <condition> := <property> {< | <= | > | >= | = | != } <value> <condition> := <property> IN <list> <condition> := ANCESTOR IS <entity or key> <list> := (<value> [, <value> ...]])Subject, Comment- 是属性列表,它是有效的查询。但事实并非如此。我从 Go 代码创建了实体。
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
投影查询有一些限制。在projection-doc中提到了"Only indexed properties can be projected".
第一条错误消息准确地显示了 的组合索引Subject, Comment尚不存在。您可以通过添加手动创建索引
- kind: comment
properties:
- name: Comment
- name: Subject
到您index.yaml的项目根文件夹中。请查看索引规范和投影文档。
// Error: projections are not supported for the property: __key__
实体keys由 GetAll 方法返回。不要把它们放在你的投影中。
keys, err := q.GetAll(c, &people)
我还不能发布超过 2 个链接,因此请在数据存储参考中查找更多详细信息。
- 1 回答
- 0 关注
- 191 浏览
添加回答
举报
0/150
提交
取消