sql >> Databáze >  >> NoSQL >> MongoDB

jak porovnat dvě pole v dokumentu v agregaci potrubí (mongoDB)

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



  1. Jak bezpečně načíst hash a převést hodnotu na logickou hodnotu, pokud existuje

  2. Připojení k MongoDB s Androidem v Eclipse

  3. Nastavení indexu MongoDB 2.6, dotaz pomocí $nebo, $in, s limitem a řazením

  4. Nelze nainstalovat mongodb php ovladač na mac os 10.9