【问题标题】:how to query a complex property in google cloud datastore如何查询谷歌云数据存储中的复杂属性
【发布时间】:2016-10-06 18:47:03
【问题描述】:

我在 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 字段。 (请不要让我将 upc 移出 itemInfo 属性!)。我知道要查询我们需要定义索引的任何内容,并且我的 index.yaml 中有 taskId。

类似:

select * from Task where itemInfo.upc = "<some value>";

请告诉我我们能做到!

谢谢。

【问题讨论】:

    标签: google-app-engine google-cloud-datastore nosql


    【解决方案1】:

    假设数据存储区中的实体 Kind 是 Task,并且它具有 taskIdtaskTypeitemInfo 属性,并且 itemInfo 是嵌入实体,那么您提到的查询应该可以正常工作。

    SELECT * FROM Task WHERE itemInfo.upc='886654801'
    

    请记住,属性名称和值区分大小写。此外,itemInfo 属性应该被索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多