Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$zip
L'$zipoperatore in Amazon DocumentDB consente di combinare più array in un unico array di tuple (coppie chiave-valore). Ciò è utile quando è necessario creare nuovi documenti o oggetti combinando dati provenienti da diverse fonti o matrici all'interno di un documento.
Parametri
-
inputs: Una matrice di espressioni che si risolvono in matrici. Questi array verranno combinati in un unico array di tuple. -
useLongestLength: (opzionale) Setrue, l'array di output avrà la lunghezza dell'array di input più lungo, riempirà di valori gli array più corti.nullSefalse, l'array di output avrà la lunghezza dell'array di input più corto. -
defaults: (opzionale) Un array di valori predefiniti da utilizzare per le tuple se l'array di input corrispondente è più corto dell'array di input più lungo e lo è.useLongestLengthtrue
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$zipoperatore per combinare due array in un unico array di tuple.
Crea documenti di esempio
db.grades.insert([ { "_id": 1, "name": "John", "scores": [90, 85, 92], "classes": ["Math", "English", "Science"] }, { "_id": 2, "name": "Jane", "scores": [88, 91, 90, 85], "classes": ["Math", "English", "Science", "History"] } ])
Esempio di interrogazione
db.grades.aggregate([ { $project: { "name": 1, "scoredClasses": { $zip: { inputs: ["$scores", "$classes"], useLongestLength: true, defaults: [null, null] } } } } ])
Output
[
{
"_id": 1,
"name": "John",
"scoredClasses": [
[90, "Math"],
[85, "English"],
[92, "Science"],
[null, null]
]
},
{
"_id": 2,
"name": "Jane",
"scoredClasses": [
[88, "Math"],
[91, "English"],
[90, "Science"],
[85, "History"]
]
}
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $zip comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: