MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDb-Abfragebedingung beim Vergleichen von 2 Feldern

Sie können ein $where verwenden. Beachten Sie jedoch, dass es ziemlich langsam sein wird (es muss Javascript-Code für jeden Datensatz ausführen), also kombinieren Sie es mit indizierten Abfragen, wenn Sie können.

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

oder kompakter:

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

UPD für mongodb v.3.6+

Sie können $expr verwenden wie in der letzten Antwort beschrieben