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.
$replaceRoot
El $replaceRoot operador se utiliza para reemplazar el documento raíz por el documento incrustado especificado. Esto resulta útil cuando se quiere promover un documento anidado al nivel superior o reestructurar la salida de datos.
Parámetros
-
newRoot: el nuevo documento raíz que sustituirá al documento raíz existente.
Ejemplo (MongoDB Shell)
En este ejemplo se muestra cómo extraer la información de las direcciones de envío de los pedidos de los clientes, lo que resulta útil para generar etiquetas de envío o listas de direcciones.
Crea documentos de muestra
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 } ])
Ejemplo de consulta
db.orders.aggregate([ { $replaceRoot: { newRoot: "$shippingAddress" } } ])
Salida
{
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'
}
Ejemplos de código
Para ver un ejemplo de código para usar el $replaceRoot comando, elija la pestaña del idioma que desee usar: