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.
$arrayToObject
El $arrayToObject operador de Amazon DocumentDB es el inverso del $objectToArray operador. Toma una matriz de documentos de pares clave-valor y la convierte en un único documento. Esto resulta especialmente útil cuando se necesita volver a convertir una matriz de pares clave-valor en una estructura de objeto o documento.
Parámetros
-
array expression: expresión que se resuelve en una matriz. Los elementos de la matriz deben ser documentos con dos campos:k(la clave) yv(el valor).
Ejemplo (MongoDB Shell)
En el siguiente ejemplo, se muestra cómo $arrayToObject convertir una matriz de pares clave-valor en un documento.
Cree documentos de muestra
db.videos.insertMany([ { "_id": 1, "name": "Live Soft", "inventory": { "Des Moines": 1000, "Ames": 500 } }, { "_id": 2, "name": "Top Pilot", "inventory": { "Mason City": 250, "Des Moines": 1000 } }, { "_id": 3, "name": "Romancing the Rock", "inventory": { "Mason City": 250, "Ames": 500 } }, { "_id": 4, "name": "Bravemind", "inventory": { "Mason City": 250, "Des Moines": 1000, "Ames": 500 } } ]);
Ejemplo de consulta
db.videos.aggregate([ { $project: { name: 1, videos: { $objectToArray: "$inventory" } } }, { $project: { name: 1, inventory: { $arrayToObject: "$videos" } } } ]);
Salida
{ "_id" : 1, "name" : "Live Soft", "inventory" : { "Des Moines" : 1000, "Ames" : 500 } }
{ "_id" : 2, "name" : "Top Pilot", "inventory" : { "Mason City" : 250, "Des Moines" : 1000 } }
{ "_id" : 3, "name" : "Romancing the Rock", "inventory" : { "Mason City" : 250, "Ames" : 500 } }
{ "_id" : 4, "name" : "Bravemind", "inventory" : { "Mason City" : 250, "Des Moines" : 1000, "Ames" : 500 } }
En este ejemplo, el $objectToArray operador se utiliza para convertir el inventory objeto en una matriz de pares clave-valor. A continuación, el $arrayToObject operador se utiliza para volver a convertir la matriz en un documento, restaurando la estructura original del objeto.
Ejemplos de código
Para ver un ejemplo de código para usar el $arrayToObject comando, elija la pestaña correspondiente al idioma que desee usar: