Mongoose查询引用当前对象键

时间:2018-01-28 22:21:42

标签: node.js mongodb mongoose

我想比较对象键以便做出决定,如下所示。

架构:

var ItemSchema = new Schema({
  price:      {type: Number},
  msrp:       {type: Number},
});

查询:

注意:这只是我的意图原型,而不是合法代码。

Item.find({'(100 - ((price * 100)/msrp))' : {$gt: 60 }})

其中msrp和$ gt内的价格应该是查找处理的当前元素的值。

1 个答案:

答案 0 :(得分:2)

您可以使用$where运算符。请注意,由于必须为每条记录执行Javascript代码,因此速度相当慢,因此如果可以,请与索引查询结合使用。您可以详细了解$where运算符here

Item.find( { $where: function() { return this.price > 100-((this.price*100)/this.msrp) } } );