Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$replaceRoot
L'$replaceRootopérateur est utilisé pour remplacer le document racine par le document intégré spécifié. Cela est utile lorsque vous souhaitez promouvoir un document imbriqué au niveau supérieur ou restructurer votre sortie de données.
Paramètres
-
newRoot: le nouveau document racine qui remplacera le document racine existant.
Exemple (MongoDB Shell)
Cet exemple montre comment extraire les informations d'adresse de livraison des commandes des clients, ce qui est utile pour générer des étiquettes d'expédition ou des listes d'adresses.
Création d'exemples de documents
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 } ])
Exemple de requête
db.orders.aggregate([ { $replaceRoot: { newRoot: "$shippingAddress" } } ])
Sortie
{
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'
}
Exemples de code
Pour afficher un exemple de code relatif à l'utilisation de la $replaceRoot commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :