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à.
$switch
Novità dalla versione 4.0.
Non supportato dal cluster Elastic.
L'$switchoperatore è un operatore di espressione condizionale in Amazon DocumentDB che consente di valutare un elenco di espressioni di casi e restituire il valore del primo caso che restituisce true o un valore predefinito se nessuna espressione di case è vera.
Parametri
-
branches: Una matrice di documenti, ognuno dei quali contiene un campo case che contiene l'espressione booleana da valutare e un campo then che contiene il valore da restituire se l'espressione case è vera. -
default: (opzionale) Il valore da restituire se nessuna delle espressioni maiuscole è vera.
Esempio (MongoDB Shell)
L'esempio seguente dimostra l'utilizzo dell'$switchoperatore per determinare il costo di spedizione di un ordine in base al totale dell'ordine.
Crea documenti di esempio
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
Esempio di query
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 } } } } ])
Output
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo del $switch comando, scegliete la scheda relativa alla lingua che desiderate utilizzare: