ObjectToArray(NoSQL 쿼리)
적용 대상: NoSQL
JSON 개체의 각 필드/값 쌍을 요소로 변환한 다음, 요소 집합을 JSON 배열로 반환합니다. 기본적으로 배열 요소에는 원래 필드 이름에 대한 새 k
필드와 원래 필드 값에 대한 새 v
필드가 포함됩니다. 이러한 새 필드 이름은 추가로 사용자 지정할 수 있습니다.
구문
ObjectToArray(<object_expr> [, <string_expr_1>, <string_expr_2>])
인수
설명 | |
---|---|
object_expr |
필드/값 쌍의 속성이 있는 개체 식입니다. |
string_expr_1 (선택 사항) |
원래 필드/값 쌍의 필드 부분을 나타내는 필드의 이름을 가진 문자열 식입니다. |
string_expr_2 (선택 사항) |
원래 필드/값 쌍의 값 부분을 나타내는 필드의 이름을 가진 문자열 식입니다. |
반환 형식
k
및 v
의 두 필드 또는 사용자 지정 명명된 필드가 있는 요소의 배열입니다.
예제
이 예제에서는 기본 k
및 v
식별자를 사용하여 정적 개체를 필드/값 쌍의 배열로 변환하는 방법을 설명합니다.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
})
[
[
{
"k": "a",
"v": "12345"
},
{
"k": "b",
"v": "67890"
}
]
]
이 예제에서는 필드 이름이 name
식별자를 사용하도록 업데이트됩니다.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "name")
[
[
{
"name": "a",
"v": "12345"
},
{
"name": "b",
"v": "67890"
}
]
]
이 예제에서 값 이름은 value
식별자 및 key
식별자를 사용하는 필드 이름을 사용하도록 업데이트됩니다.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "key", "value")
[
[
{
"key": "a",
"value": "12345"
},
{
"key": "b",
"value": "67890"
}
]
]
이 마지막 예제에서는 JSON 개체 내의 필드를 사용하여 데이터를 저장하는 기존 컨테이너 내의 항목을 사용합니다.
[
{
"name": "Witalica helmet",
"category": "sport-helmets",
"quantities": {
"small": 15,
"medium": 24,
"large": 2,
"xlarge": 0
}
}
]
이 예제에서는 함수를 사용하여 개체를 각 필드/값 쌍의 배열 항목으로 분리합니다.
SELECT
p.name,
ObjectToArray(p.quantities, "size", "quantity") AS quantitiesBySize
FROM
products p
WHERE
p.category = "sport-helmets"
[
{
"name": "Witalica helmet",
"quantitiesBySize": [
{
"size": "small",
"quantity": 15
},
{
"size": "medium",
"quantity": 24
},
{
"size": "large",
"quantity": 2
},
{
"size": "xlarge",
"quantity": 0
}
]
}
]
설명
- 입력 값이 유효한 개체가 아니면 결과는
undefined
입니다.