我遇到了查询结果问题,我希望比较字段的值,乘以及与其他系统值进行比较。
就像这样:
var servicePriceProportion = 0.7;
var serviceMaxPrice = 1000;
CollectionX.find({
... other conditions,
$where: function(){
return (this.Data.investmentMax * servicePriceProportion < serviceMaxPrice);
}
});
我也试过了。但是没有用:
$where: function(){
return (this.Data.investmentMax != this.Data.investmentMax);
}
$ where where条件根本不起作用。
答案 0 :(得分:0)
如果您在$where
中使用javascript变量,则应使用obj
关键字引用它们。
$where: "this.Data.investmentMax * " + servicePriceProportion + " < " + serviceProviderMaxPrice"
所以this
引用集合中的实际数据,而obj
则引用另一个变量。
你应该知道使用$ where运算符可以使查询相当慢。
来自docs的说明。
一般情况下,只有当你无法表达你的时候才应该使用$ 使用其他运算符进行查询
所以在简历中,如果有一些方法可以在不使用$where
的情况下完成此任务,那么应用程序将会很好用