$cmp (agregação)
O MongoDB 5.0 é o fim da vida útil a partir de 2024 de outubro. Esta versão da documentação não é mais suportada. Para atualizar seu 5.0 sistema do, consulte os 60 procedimentos de atualização do MongoDB. .
Definição
$cmp
Compara dois valores e retornos:
-1
se o primeiro valor for menor que o segundo.1
se o primeiro valor for maior que o segundo.0
se os dois valores forem equivalentes.
O compara o valor e o tipo, usando
$cmp
a ordem de comparação BSON especificada pelo para valores de diferentes tipos.$cmp
tem esta sintaxe:{ $cmp: [ <expression1>, <expression2> ] } Para mais informações sobre expressões, consulte Expressões.
Exemplo
Crie uma coleção inventory
com estes documentos:
db.inventory.insertMany( [ { _id : 1, item : "abc1", description: "product 1", qty: 300 }, { _id : 2, item : "abc2", description: "product 2", qty: 200 }, { _id : 3, item : "xyz1", description: "product 3", qty: 250 }, { _id : 4, item : "VWZ1", description: "product 4", qty: 300 }, { _id : 5, item : "VWZ2", description: "product 5", qty: 180 } ] )
Use o operador $cmp
para comparar o valor qty
com 250
:
db.inventory.aggregate( [ { $project: { item: 1, qty: 1, cmpTo250: { $cmp: [ "$qty", 250 ] }, _id: 0 } } ] )
Saída:
{ item : "abc1", qty : 300, cmpTo250 : 1 } { item : "abc2", qty : 200, cmpTo250 : -1 } { item : "xyz1", qty : 250, cmpTo250 : 0 } { item : "VWZ1", qty : 300, cmpTo250 : 1 } { item : "VWZ2", qty : 180, cmpTo250 : -1 }