MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Condition de requête MongoDb sur la comparaison de 2 champs

Vous pouvez utiliser un $where. Sachez simplement que ce sera assez lent (doit exécuter du code Javascript sur chaque enregistrement), alors combinez-le avec des requêtes indexées si vous le pouvez.

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

ou plus compact :

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

Mise à jour pour mongodb v.3.6+

vous pouvez utiliser $expr comme décrit dans la réponse récente