1

我有以下从存储在 Windows Azure DocumentDb 中的外部方接收的 JSON 字符串:

{
  "kind": "Data",
  "profileInfo": {
    "profileId": "12345",
    "accountId": "12345",
  },
  "rows": [
    [
      "20140925",
      "762"
    ],
    [
      "20140926",
      "552"
    ],
  ]
}

我想将源减少到更小的子集并以不同的形状输出。

“SELECT * FROM date.rows”产量是子集:

[
  [
    [
      "20140925",
      "762"
    ],
    [
      "20140926",
      "552"
    ],
  ]
]

问题是,由于我没有字段名称,如何使用 DocumentDb 文档中提到的“SELECT {"date":?, "value":?} 语法修改输出?

http://azure.microsoft.com/en-us/documentation/articles/documentdb-sql-query/

4

1 回答 1

0

我想您正在寻找将您的数据转换为如下所示的内容:

[
  {
    date: 20140925,
    value: 762
  },
  {
    date: 20140926,
    value: 552
  }
]

在这种情况下,您可以使用该JOIN子句遍历文档的子项 ( rows),然后使用VALUE关键字从查询的文档中提取日期和值。

这是我用来产生上述结果的查询:

SELECT VALUE {'date': r[0], 'value': r[1]} 
FROM Collections c
JOIN r IN c.rows
WHERE c.kind = "Data"

希望这能回答你的问题:)

于 2014-10-29T20:45:46.003 回答