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.
$switch
Nouveau depuis la version 4.0.
Non pris en charge par le cluster Elastic.
L'$switchopérateur est un opérateur d'expression conditionnelle dans Amazon DocumentDB qui vous permet d'évaluer une liste d'expressions de cas et de renvoyer la valeur du premier cas qui est vraie, ou une valeur par défaut si aucune expression de cas n'est vraie.
Paramètres
-
branches: un tableau de documents, dont chacun comporte un champ majuscule contenant l'expression booléenne à évaluer, et un champ ensuite contenant la valeur à renvoyer si l'expression majuscule est vraie. -
default: (facultatif) La valeur à renvoyer si aucune des expressions majuscules n'est vraie.
Exemple (MongoDB Shell)
L'exemple suivant illustre l'utilisation de l'$switchopérateur pour déterminer les frais d'expédition d'une commande en fonction du total de la commande.
Création d'exemples de documents
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
Exemple de requête
db.orders.aggregate([ { $project: { _id: 1, total: 1, shippingCost: { $switch: { branches: [ { case: { $lte: ["$total", 100] }, then: 5 }, { case: { $lte: ["$total", 200] }, then: 10 }, { case: { $gt: ["$total", 200] }, then: 15 } ], default: 0 } } } } ])
Sortie
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
Exemples de code
Pour afficher un exemple de code d'utilisation de la $switch commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :