Condividi tramite


ObjectToArray (query NoSQL)

SI APPLICA A: NoSQL

Converte ogni coppia campo/valore in un oggetto JSON in un elemento e quindi restituisce il set di elementi come matrice JSON. Per impostazione predefinita, gli elementi della matrice contengono un nuovo k campo per il nome del campo originale e un nuovo v campo per il valore del campo originale. Questi nuovi nomi di campo possono essere ulteriormente personalizzati.

Sintassi

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

Argomenti

Descrizione
object_expr Espressione oggetto con proprietà nelle coppie campo/valore.
string_expr_1(opzionale) Espressione stringa con un nome per il campo che rappresenta la parte del campo della coppia campo/valore originale.
string_expr_2(opzionale) Espressione stringa con un nome per il campo che rappresenta la parte del valore della coppia campo/valore originale.

Tipi restituiti

Matrice di elementi con due campi, k e v o con nomi personalizzati.

Esempi

In questo esempio viene illustrata la conversione di un oggetto statico in una matrice di coppie campo/valore usando gli identificatori e v predefinitik.

SELECT VALUE
    ObjectToArray({ 
        "a": "12345", 
        "b": "67890"
    })
[
  [
    {
      "k": "a",
      "v": "12345"
    },
    {
      "k": "b",
      "v": "67890"
    }
  ]
]

In questo esempio il nome del campo viene aggiornato per usare l'identificatore name .

SELECT VALUE
    ObjectToArray({ 
        "a": "12345", 
        "b": "67890"
    }, "name")
[
  [
    {
      "name": "a",
      "v": "12345"
    },
    {
      "name": "b",
      "v": "67890"
    }
  ]
]

In questo esempio, il nome del valore viene aggiornato per usare l'identificatore value e il nome del campo usa l'identificatore key .

SELECT VALUE
    ObjectToArray({ 
        "a": "12345", 
        "b": "67890"
    }, "key", "value")
[
  [
    {
      "key": "a",
      "value": "12345"
    },
    {
      "key": "b",
      "value": "67890"
    }
  ]
]

Questo esempio finale usa un elemento all'interno di un contenitore esistente che archivia i dati usando campi all'interno di un oggetto JSON.

[
  {
    "name": "Witalica helmet",
    "category": "sport-helmets",
    "quantities": {
      "small": 15,
      "medium": 24,
      "large": 2,
      "xlarge": 0
    }
  }
]

In questo esempio, la funzione viene usata per suddividere l'oggetto in un elemento di matrice per ogni coppia campo/valore.

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
      }
    ]
  }
]

Osservazioni:

  • Se il valore di input non è un oggetto valido, il risultato è undefined.

Vedi anche