2つのフィールドを比較するMongoDbクエリ条件 質問する

2つのフィールドを比較するMongoDbクエリ条件 質問する

Tの 2 つのフィールドを持つコレクションがあり、条件 でそれらを選択したいのですが、MySQL のようなクエリを取得するにはどうすればよいですか?Grade1Grade2Grade1 > 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下記の説明に従ってご使用ください。最近の回答

おすすめ記事