sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDb-frågevillkor vid jämförelse av 2 fält

Du kan använda en $where. Tänk bara på att det kommer att vara ganska långsamt (måste köra Javascript-kod på varje post) så kombinera med indexerade frågor om du kan.

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

eller mer kompakt:

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

UPD för mongodb v.3.6+

du kan använda $expr som beskrivs i det senaste svaret



  1. Konvertera en sträng till ett tal i MongoDB-projektion

  2. ett fältnamn ClassName infogas i mongodb av morphia

  3. Varför använder inte MongoDB index-korsning?

  4. MongoDB - Skillnad mellan index på textfält och textindex?