Das Problem liegt nicht beim Vergleichsoperator, sondern bei der Art des Werts, den Sie vergleichen. Sie sollten die Variablentypen in Zahlen ändern. Ändere deine Übereinstimmung basierend auf deinem Vergleich auf 1, -1 oder 0.
db.bcamp.aggregate(
[
{$project: {ab: {$cmp: ['$budget','$clickcost']}}},
{$match: {ab:{$eq:1}}}
]).pretty();
Sie können $expr
verwenden in Version 3.6.
db.bcamp.aggregate(
[
{$match: {$expr: {$eq: ["$budget", "$clickcost"]}}}
]).pretty();
Oder
db.bcamp.find(
{$expr: {$eq: ["$budget", "$clickcost"]}}
).pretty();