Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: NoSQL
Wandelt jedes Feld/Wert-Paar in einem JSON-Objekt in ein Element um und gibt dann die Menge der Elemente als JSON-Array zurück. Standardmäßig enthalten die Array-Elemente ein neues Feld k
für den Namen des ursprünglichen Feldes und ein neues Feld v
für den Wert des ursprünglichen Feldes. Diese neuen Feldnamen können weiter angepasst werden.
Syntax
ObjectToArray(<object_expr> [, <string_expr_1>, <string_expr_2>])
Argumente
BESCHREIBUNG | |
---|---|
object_expr |
Ein Objektausdruck mit Eigenschaften in Feld/Wert-Paaren. |
string_expr_1
(Optional) |
Ein Zeichenfolgenausdruck mit einem Namen für das Feld, das den Feldteil des ursprünglichen Feld/Wert-Paares darstellt. |
string_expr_2
(Optional) |
Ein Zeichenfolgenausdruck mit einem Namen für das Feld, das den Wertteil des ursprünglichen Feld/Wert-Paares darstellt. |
Rückgabetypen
Ein Array von Elementen mit zwei Feldern, entweder k
und v
oder benutzerdefinierten Feldern.
Beispiele
Dieses Beispiel demonstriert die Konvertierung eines statischen Objekts in ein Array von Feld/Wert-Paaren unter Verwendung der Standardbezeichner k
und v
.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
})
[
[
{
"k": "a",
"v": "12345"
},
{
"k": "b",
"v": "67890"
}
]
]
In diesem Beispiel wird der Feldname aktualisiert, um den Bezeichner name
zu verwenden.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "name")
[
[
{
"name": "a",
"v": "12345"
},
{
"name": "b",
"v": "67890"
}
]
]
In diesem Beispiel wird der Wertname aktualisiert, um den Bezeichner value
zu verwenden. Der Feldname verwendet den Bezeichner key
.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "key", "value")
[
[
{
"key": "a",
"value": "12345"
},
{
"key": "b",
"value": "67890"
}
]
]
In diesem letzten Beispiel wird ein Element innerhalb eines bestehenden Containers verwendet, das Daten mithilfe von Feldern innerhalb eines JSON-Objekts speichert.
[
{
"name": "Witalica helmet",
"category": "sport-helmets",
"quantities": {
"small": 15,
"medium": 24,
"large": 2,
"xlarge": 0
}
}
]
In diesem Beispiel wird die Funktion verwendet, um das Objekt in ein Array-Element für jedes Feld/Wert-Paar aufzulösen.
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
}
]
}
]
Bemerkungen
- Wenn der Eingabewert kein gültiges Objekt ist, ist das Ergebnis
undefined
.