Si vous êtes sur Mongo 3.6 ou supérieur, vous pouvez essayer d'utiliser le $expr
opérateur. Ce qui vous permettrait alors d'utiliser $cond
.
$expr
Autorise l'utilisation d'expressions d'agrégation dans le langage de requête.
Leur exemple peut être trouvé ici
db.supplies.find( {
$expr: {
$lt:[ {
$cond: {
if: { $gte: ["$qty", 100] },
then: { $divide: ["$price", 2] },
else: { $divide: ["$price", 4] }
}
},
5 ] }
} )