sql >> Database >  >> NoSQL >> MongoDB

hoe twee velden in een document te vergelijken in pijplijnaggregatie (mongoDB)

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();



  1. Metaclass-deligate is geen instantie

  2. Werk alle elementen in een array bij in mongodb

  3. Mongodb match tekens met accenten als onderliggend teken

  4. Retourneert module.require(...).* een kopie van module.export.* of een referentie ervan?