MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Условие на заявка за MongoDb при сравняване на 2 полета

Можете да използвате $where. Само имайте предвид, че ще бъде доста бавно (трябва да изпълнява Javascript код за всеки запис), така че комбинирайте с индексирани заявки, ако можете.

db.T.find( { $where: function() { return this.Grade1 > this.Grade2 } } );

или по-компактен:

db.T.find( { $where : "this.Grade1 > this.Grade2" } );

UPD за mongodb v.3.6+

можете да използвате $expr както е описано в скорошен отговор



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да използвам $elemMatch върху проекцията на агрегата?

  2. Mongo преобразува вградения документ в масив

  3. Вземете най-новия запис от колекцията на mongodb

  4. Уникалният индекс в mongoose не работи

  5. Каква е разликата между запазване и вмъкване в Mongo DB?