Esta versión de la documentación está archivada y ya no recibe soporte. Para actualizar su implementación 6.0, consulte Procedimientos de actualización de MongoDB.7.0
Definición
$cmpCompara dos valores y devuelve:
-1si el primer valor es menor que el segundo.1si el primer valor es mayor que el segundo.0si los dos valores son equivalentes.
El compara tanto el valor como el tipo, utilizando
$cmpel orden de comparación BSON especificado para valores de diferentes tipos.$cmptiene esta sintaxis:{ $cmp: [ <expression1>, <expression2> ] } Para obtener más información sobre las expresiones, consulta Expresiones.
Ejemplo
Se puede crear una colección inventory con estos 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 } ] )
Utilice el operador $cmp para comparar el valor qty con 250:
db.inventory.aggregate( [ { $project: { item: 1, qty: 1, cmpTo250: { $cmp: [ "$qty", 250 ] }, _id: 0 } } ] )
Salida:
{ 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 }