使用数据存储命令行工具创建嵌入式实体

时间:2017-05-02 13:51:18

标签: google-cloud-datastore

我正在尝试使用Google云数据存储命令行界面来创建嵌入式实体数组。我已经想出如何创建嵌入式实体值,如下所示:

{
    "properties": {
        "age": {
            "integerValue": "5"
        },
        "height": {
            "integerValue": "6"
        }
    }
}

以及如何创建数组值,如下所示:

{
    "values": [
        {
            "stringValue": "one"
        },
        {
            "stringValue": "two"
        }
    ]
}

但我还没想出如何为数组添加嵌入值。例如:

{
    "values": [
        {
            "stringValue": "one"
        },
        {
            "stringValue": "two"
        },
        {
            "embeddedEntityValue": {
                "properties": {
                    "age": {
                        "integerValue": "5"
                    },
                    "height": {
                        "integerValue": "6"
                    }
                }
            }
        }
    ]
}

给出错误: “此数组中的一个或多个值看起来不正确。如果包含值,请确保它们是JSON格式的数据存储区数组值。”

1 个答案:

答案 0 :(得分:2)

我认为embeddedEntityValue应更改为entityValue。下面的示例显示了具有两个嵌入实体的Array字段:

{
  "values": [
    {
      "entityValue": {
        "properties": {
          "areaCode": {
            "stringValue": "40"
          },
          "countryCode": {
            "stringValue": "91"
          },
          "subscriberNumber": {
            "stringValue": "2722 5858"
          }
        }
      }
    },
    {
      "entityValue": {
        "properties": {
          "countryCode": {
            "stringValue": "91"
          },
          "subscriberNumber": {
            "stringValue": "6666 0000"
          },
          "areaCode": {
            "stringValue": "80"
          }
        }
      }
    }
  ]
}