Problém není v operátoru porovnání, jde o typ hodnoty, kterou porovnáváte. Měli byste změnit typy proměnných na Numbers. Změňte svou shodu na 1, -1 nebo 0 na základě vašeho srovnání.
db.bcamp.aggregate(
[
{$project: {ab: {$cmp: ['$budget','$clickcost']}}},
{$match: {ab:{$eq:1}}}
]).pretty();
Můžete použít $expr
ve verzi 3.6.
db.bcamp.aggregate(
[
{$match: {$expr: {$eq: ["$budget", "$clickcost"]}}}
]).pretty();
Nebo
db.bcamp.find(
{$expr: {$eq: ["$budget", "$clickcost"]}}
).pretty();