我在Datastore中创建了一个具有复杂属性的实体(或文档?我不知道该怎么称呼它!请告诉我它的正确名称),如下所示:
taskId: "T101",
taskType: "Pick",
itemInfo:
{
"id":"00014",
"actualQty":"1",
"attributes":[{"value":"Large","name":"Size"},"value":"Blue","name":"Color"}],
"requiredQty":"10",
"imageUrl":" ",
"upc":"886654801"
}
我想查询itemInfo属性中的upc字段。 (请不要让我向上移出itemInfo属性!)。我知道,为了查询我们需要定义索引的任何内容,我在index.yaml中有taskId。
类似的东西:
select * from Task where itemInfo.upc = "<some value>";
请告诉我,我们可以以某种方式做到这一点!
感谢。
答案 0 :(得分:1)
假设数据存储中的实体Kind为Task
,并且它具有taskId
,taskType
和itemInfo
属性,其中itemInfo
为嵌入实体,你提到的查询应该可以正常工作。
SELECT * FROM Task WHERE itemInfo.upc='886654801'
请记住,属性名称和值区分大小写。此外,应将itemInfo
属性编入索引。