Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$replaceRoot
Der $replaceRoot Operator wird verwendet, um das Stammdokument durch das angegebene eingebettete Dokument zu ersetzen. Dies ist nützlich, wenn Sie ein verschachteltes Dokument auf die oberste Ebene hochstufen oder Ihre Datenausgabe neu strukturieren möchten.
Parameter
-
newRoot: Das neue Stammdokument, das das bestehende Stammdokument ersetzen wird.
Beispiel (MongoDB Shell)
Dieses Beispiel zeigt, wie Lieferadressinformationen aus Kundenbestellungen extrahiert werden, was für die Generierung von Versandetiketten oder Adresslisten nützlich ist.
Erstellen Sie Beispieldokumente
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 } ])
Beispiel für eine Abfrage
db.orders.aggregate([ { $replaceRoot: { newRoot: "$shippingAddress" } } ])
Ausgabe
{
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'
}
Codebeispiele
Um ein Codebeispiel für die Verwendung des $replaceRoot Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: