sql >> Databasteknik >  >> NoSQL >> MongoDB

hur man jämför två fält i ett dokument i pipelineaggregation (mongoDB)

Problemet är inte med jämförelseoperator, det är den typ av värde du jämför. Du bör ändra typer av variabel till Numbers. Ändra din matchning till 1, -1 eller 0 baserat på din jämförelse.

db.bcamp.aggregate(
[
  {$project: {ab: {$cmp: ['$budget','$clickcost']}}},
  {$match: {ab:{$eq:1}}}
]).pretty();

Du kan använda $expr i version 3.6.

db.bcamp.aggregate(
[
  {$match: {$expr: {$eq: ["$budget", "$clickcost"]}}}
]).pretty();

Eller

db.bcamp.find(
 {$expr: {$eq: ["$budget", "$clickcost"]}}
).pretty();



  1. MongoDB BSON-codec används inte vid kodning av objekt

  2. Få de senaste dokumenten med olika kriterier

  3. Projektinstallation med Django 1.10, mongodb och Python 3.4.3

  4. Kör flera instanser av Redis på Centos