0
如何在執行查詢時使用字段值進行比較?從文檔如何查找field1大於field2的文檔? (Nodejs/Mongoose/MongoDB)
例子:
db.inventory.find({ qty: { $gt: 20 } })
如何使用字段值從文檔,而不是20的,就像這樣:
db.inventory.find({ qty: { $gt: field2 } })
這是我想達成:
var query = model.find();
var first = "field1";
var second = "field2";
query.where(first).gt(second);
編輯:我動態地構建查詢,所以我需要在貓鼬中使用查詢生成器。
Edid2:多虧了下面的答案,這是我如何解決我的問題:
query.where({$where: "this."+first+" > this."+second});
我明白了,謝謝。但是,如何使用查詢構建器創建查詢? 我從動態設置創建多個查詢,我試過這個沒有運氣: query.where(first +「<」+ second); – eirik
or this'$ where:「this.field1> this.field2」 – hassansin
感謝你們兩位,這解決了我的問題: query.where({$ where:「this。」+ first +「> this。」 +第二}); – eirik