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
Vergleicht Ausdrücke in zwei Mengen und gibt die Menge von Ausdrücken ohne Duplikate zurück, die in beiden Mengen enthalten sind.
Syntax
SetIntersect(<array_expr_1>, <array_expr_2>)
Argumente
BESCHREIBUNG | |
---|---|
array_expr_1 |
Ein Array von Ausdrücken. |
array_expr_2 |
Ein Array von Ausdrücken. |
Rückgabetypen
Gibt ein Array von Ausdrücken zurück.
Beispiele
In diesem ersten Beispiel wird die Funktion mit statischen Arrays verwendet, um die Schnittfunktionalität zu veranschaulichen.
SELECT VALUE {
simpleIntersect: SetIntersect([1, 2, 3, 4], [3, 4, 5, 6]),
emptyIntersect: SetIntersect([1, 2, 3, 4], []),
duplicatesIntersect: SetIntersect([1, 2, 3, 4], [1, 1, 1, 1]),
noMatchesIntersect: SetIntersect([1, 2, 3, 4], ["A", "B"]),
unorderedIntersect: SetIntersect([1, 2, "A", "B"], ["A", 1])
}
[
{
"simpleIntersect": [
3,
4
],
"emptyIntersect": [],
"duplicatesIntersect": [
1
],
"noMatchesIntersect": [],
"unorderedIntersect": [
"A",
1
]
}
]
Im letzten Beispiel wird ein einzelnes Element verwendet, das Werte innerhalb von zwei Arrayeigenschaften teilt.
[
{
"name": "Snowilla vest",
"inStockColors": [
"Rhino",
"Finch"
],
"colors": [
"Finch",
"Mine Shaft",
"Rhino"
],
"category": "modern-vests"
}
]
Die Abfrage wählt das entsprechende Feld aus den Elementen im Container aus.
SELECT
p.name,
SetIntersect(p.colors, p.inStockColors) AS availableColors
FROM
products p
WHERE
p.category = "modern-vests"
[
{
"name": "Snowilla vest",
"availableColors": [
"Rhino",
"Finch"
]
}
]
Bemerkungen
- Diese Funktion gibt keine Duplikate zurück.
- Der Index wird von dieser Funktion nicht verwendet.