【发布时间】:2015-09-21 07:04:22
【问题描述】:
在执行查询时如何使用字段中的值进行比较?
来自文档的示例:
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);
编辑:我正在动态构建查询,所以我需要在 mongoose 中使用查询生成器。
Edid2:感谢下面的回答,这就是我解决问题的方法:
query.where({$where: "this."+first+" > this."+second});
【问题讨论】:
标签: node.js mongodb mongoose nosql