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 に答える