Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$zip
El $zip operador de Amazon DocumentDB le permite combinar varias matrices en una sola matriz de tuplas (pares clave-valor). Esto resulta útil cuando necesita crear nuevos documentos u objetos mediante la combinación de datos de distintas fuentes o matrices dentro de un documento.
Parámetros
-
inputs: conjunto de expresiones que se convierten en matrices. Estas matrices se combinarán en una sola matriz de tuplas. -
useLongestLength: (opcional) Sitrue, la matriz de salida tendrá la longitud de la matriz de entrada más larga, rellenando las matrices más cortas con valores.nullSifalse, la matriz de salida tendrá la longitud de la matriz de entrada más corta. -
defaults: (opcional) Una matriz de valores predeterminados para usar en las tuplas si la matriz de entrada correspondiente es más corta que la matriz de entrada más larga y louseLongestLengthestrue.
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo utilizar el $zip operador para combinar dos matrices en una sola matriz de tuplas.
Cree documentos de muestra
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"] } ])
Ejemplo de consulta
db.grades.aggregate([ { $project: { "name": 1, "scoredClasses": { $zip: { inputs: ["$scores", "$classes"], useLongestLength: true, defaults: [null, null] } } } } ])
Salida
[
{
"_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"]
]
}
]
Ejemplos de código
Para ver un ejemplo de código para usar el $zip comando, elija la pestaña del idioma que desee usar: