Megosztás a következőn keresztül:


ObjectToArray (NoSQL-lekérdezés)

A KÖVETKEZŐKRE VONATKOZIK: NoSQL

Egy JSON-objektum minden mező/érték párját elemzé alakítja, majd JSON-tömbként adja vissza az elemek halmazát. Alapértelmezés szerint a tömbelemek új k mezőt tartalmaznak az eredeti mező nevének és az eredeti mező értékének új v mezőjéhez. Ezek az új mezőnevek tovább testre szabhatók.

Szintaxis

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

Argumentumok

Leírás
object_expr Objektumkifejezés mező-érték párokban lévő tulajdonságokkal.
string_expr_1(Nem kötelező) Sztringkifejezés az eredeti mező/érték pár mezőrészét jelölő mező nevével.
string_expr_2(Nem kötelező) Egy sztringkifejezés, amelynek neve az eredeti mező/érték pár értékrészét jelöli.

Visszatérési típusok

Elemek tömbje két mezővel, vagy kv egyéni névvel ellátott mezőkkel.

Példák

Ez a példa azt mutatja be, hogy egy statikus objektumot az alapértelmezett k és v azonosítók használatával mező-érték párok tömbjére konvertál.

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

Ebben a példában a mező neve frissül az name azonosító használatára.

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

Ebben a példában az érték neve frissül, hogy az value azonosítót használja, a mezőnév pedig az azonosítót key .

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

Ez az utolsó példa egy meglévő tárolóban lévő elemet használ, amely egy JSON-objektum mezőivel tárolja az adatokat.

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

Ebben a példában a függvény az objektumot tömbelemre bontja az egyes mező-érték párok esetében.

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

Megjegyzések

  • Ha a bemeneti érték nem érvényes objektum, az eredmény .undefined

Lásd még