Het probleem ligt niet bij de vergelijkingsoperator, het is het type waarde dat u vergelijkt. U moet de typen variabelen wijzigen in Numbers. Verander je match in 1, -1 of 0 op basis van je vergelijking.
db.bcamp.aggregate(
[
{$project: {ab: {$cmp: ['$budget','$clickcost']}}},
{$match: {ab:{$eq:1}}}
]).pretty();
U kunt $expr
. gebruiken in versie 3.6.
db.bcamp.aggregate(
[
{$match: {$expr: {$eq: ["$budget", "$clickcost"]}}}
]).pretty();
Of
db.bcamp.find(
{$expr: {$eq: ["$budget", "$clickcost"]}}
).pretty();