とT
の 2 つのフィールドを持つコレクションがあり、条件 でそれらを選択したいのですが、MySQL のようなクエリを取得するにはどうすればよいですか?Grade1
Grade2
Grade1 > Grade2
Select * from T Where Grade1 > Grade2
ベストアンサー1
$where を使用できます。ただし、これはかなり遅くなることに注意してください (すべてのレコードで JavaScript コードを実行する必要があります)。可能な場合は、インデックス付きクエリと組み合わせてください。
db.T.find( { $where: function() { return this.Grade1 > this.Grade2 } } );
またはよりコンパクトに:
db.T.find( { $where : "this.Grade1 > this.Grade2" } );
mongodb v.3.6+ の UPD
$expr
下記の説明に従ってご使用ください。最近の回答