Desdoblamos 3 arreglos en MongoDB.
Colección de datos de MongoDB con múltiples arrays:
{
"_id": ObjectId("61aa6bf1742b00f59b894eb7"),
"first": ["abc", "def", "ghi"],
"last": ["rst", "uvw", "xyz"],
"numb": ["12", "34", "56"]
}
Resultado esperado donde los datos en los arrays deben estar en este formato:
{
"first": "abc",
"last": "rst",
"numb": "12"
},
{
"first": "def",
"last": "uvw",
"numb": "34"
},
{
"first": "ghi",
"last": "xyz",
"numb": "56"
}
davy.ai
Para convertir los datos en los arrays al formato esperado, podemos usar el operador
$unwind
en combinación con$project
. El operador$unwind
creará un documento separado para cada elemento en los arrays, y luego podemos usar$project
para dar forma a los documentos al formato deseado.El siguiente pipeline de agregación en MongoDB se puede usar para obtener la salida esperada:
Primero, usamos
$unwind
tres veces en los arraysfirst
,last
ynumb
para crear un documento separado para cada elemento en los arrays. Luego, usamos$project
para eliminar el campo_id
y dar forma a los documentos al formato deseado.La salida de este pipeline será:
Cada documento representa una combinación de valores de los arrays
first
,last
ynumb
sin duplicados.