Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$replaceRoot
L'$replaceRootoperatore viene utilizzato per sostituire il documento radice con il documento incorporato specificato. Ciò è utile quando si desidera promuovere un documento annidato al livello superiore o ristrutturare l'output dei dati.
Parametri
-
newRoot: il nuovo documento radice che sostituirà il documento radice esistente.
Esempio (MongoDB Shell)
Questo esempio mostra come estrarre le informazioni sull'indirizzo di spedizione dagli ordini dei clienti, utile per generare etichette di spedizione o elenchi di indirizzi.
Crea documenti di esempio
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 } ])
Esempio di interrogazione
db.orders.aggregate([ { $replaceRoot: { newRoot: "$shippingAddress" } } ])
Output
{
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'
}
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $replaceRoot comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: