다음을 통해 공유


ObjectToArray(NoSQL 쿼리)

적용 대상: NoSQL

JSON 개체의 각 필드/값 쌍을 요소로 변환한 다음, 요소 집합을 JSON 배열로 반환합니다. 기본적으로 배열 요소에는 원래 필드 이름에 대한 새 k 필드와 원래 필드 값에 대한 새 v 필드가 포함됩니다. 이러한 새 필드 이름은 추가로 사용자 지정할 수 있습니다.

구문

ObjectToArray(<object_expr> [, <string_expr_1>, <string_expr_2>])

인수

설명
object_expr 필드/값 쌍의 속성이 있는 개체 식입니다.
string_expr_1(선택 사항) 원래 필드/값 쌍의 필드 부분을 나타내는 필드의 이름을 가진 문자열 식입니다.
string_expr_2(선택 사항) 원래 필드/값 쌍의 부분을 나타내는 필드의 이름을 가진 문자열 식입니다.

반환 형식

kv의 두 필드 또는 사용자 지정 명명된 필드가 있는 요소의 배열입니다.

예제

이 예제에서는 기본 kv 식별자를 사용하여 정적 개체를 필드/값 쌍의 배열로 변환하는 방법을 설명합니다.

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입니다.

참고 항목