As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$arrayToObject
O $arrayToObject operador no Amazon DocumentDB é o inverso do $objectToArray operador. Ele pega uma matriz de documentos de pares de valores-chave e os converte em um único documento. Isso é particularmente útil quando você precisa converter uma matriz de pares de valores-chave novamente em uma estrutura de objeto ou documento.
Parâmetros
-
array expression: uma expressão que se resolve em uma matriz. Os elementos da matriz devem ser documentos com dois campos:k(a chave) ev(o valor).
Exemplo (MongoDB Shell)
O exemplo abaixo demonstra como usar $arrayToObject para converter uma matriz de pares de valores-chave em um documento.
Crie documentos de amostra
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 } } ]);
Exemplo de consulta
db.videos.aggregate([ { $project: { name: 1, videos: { $objectToArray: "$inventory" } } }, { $project: { name: 1, inventory: { $arrayToObject: "$videos" } } } ]);
Saída
{ "_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 } }
Neste exemplo, o $objectToArray operador é usado para converter o inventory objeto em uma matriz de pares de valores-chave. O $arrayToObject operador é então usado para converter a matriz novamente em um documento, restaurando a estrutura original do objeto.
Exemplos de código
Para ver um exemplo de código para usar o $arrayToObject comando, escolha a guia do idioma que você deseja usar: