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á.
$replaceRoot
O $replaceRoot operador é usado para substituir o documento raiz pelo documento incorporado especificado. Isso é útil quando você deseja promover um documento aninhado ao nível superior ou reestruturar sua saída de dados.
Parâmetros
-
newRoot: o novo documento raiz que substituirá o documento raiz existente.
Exemplo (MongoDB Shell)
Este exemplo mostra como extrair informações de endereço de entrega de pedidos de clientes, o que é útil para gerar etiquetas de frete ou listas de endereços.
Crie documentos de amostra
db.orders.insertMany([ { "_id":1, "orderId": "ORD-2024-001", "customerId": "CUST-12345", "orderDate": "2024-01-15", "shippingAddress": { "name": "María García", "street": "123 Main St", "city": "Seattle", "state": "WA", "zipCode": "98101", "country": "USA" },"totalAmount": 149.99 }, { "_id":2, "orderId": "ORD-2024-002", "customerId": "CUST-67890", "orderDate": "2024-01-16", "shippingAddress": { "name": "Arnav Desai", "street": "456 Oak Ave", "city": "Portland", "state": "OR", "zipCode": "97201", "country": "USA" }, "totalAmount": 89.50 } ])
Exemplo de consulta
db.orders.aggregate([ { $replaceRoot: { newRoot: "$shippingAddress" } } ])
Saída
{
name: 'María García',
street: '123 Main St',
city: 'Seattle',
state: 'WA',
zipCode: '98101',
country: 'USA'
},
{
name: 'Arnav Desai',
street: '456 Oak Ave',
city: 'Portland',
state: 'OR',
zipCode: '97201',
country: 'USA'
}
Exemplos de código
Para ver um exemplo de código para usar o $replaceRoot comando, escolha a guia do idioma que você deseja usar: