垂直フラット化
サンプルドキュメント
/* Primary key "1" */
{
"address" : {
"building" : "1007",
"coord" : [-73.856077, 40.848447],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [{
"date" : "2014-03-03T00:00:00Z",
"grade" : "A",
"score" : 2
}, {
"date" : "2013-09-11T00:00:00Z",
"grade" : "A",
"score" : 6
}, {
"date" : "2013-01-24T00:00:00Z",
"grade" : "A",
"score" : 10
}, {
"date" : "2011-11-23T00:00:00Z",
"grade" : "A",
"score" : 9
}, {
"date" : "2011-03-10T00:00:00Z",
"grade" : "B",
"score" : 14
}],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
オブジェクト内の値を選択
FlattenObjects プロパティがオブジェクトのフラット化を許容するように設定されている場合、本製品 はオブジェクトをトラバースしてそれらの中のフィールドをカラムとしてマップします。例えば、このクエリは:SELECT [address.building], [address.street] FROM restaurantsこの結果セットを返します:
| address.building | addres.street |
| 1007 | Morris Park Ave |
配列内の値を選択
FlattenArrays プロパティが配列のフラット化を許容するように設定されている場合、本製品 は配列をトラバースして個々の値をカラムとしてマップします。例えば、Flatten Arrays が"2" に設定されている場合、このクエリは:SELECT [address.coord.0], [address.coord.1] FROM restaurantsこの結果セットを返します:
| address.coord.0 | address.coord.1 |
| -73.856077 | 40.838447 |
配列のフラット化は、常に2つの項目を含む"address.coord" のように、配列項目の数が事前にわかっている場合にのみ使用してください。任意の数の項目を含むことができる"grades" のような配列の場合は、配列内のすべての値を読み取ることができるため代わりに自動スキーマ検出 に記載されている子テーブルの使用を検討してください。