在我的收藏,每个文档有看起来像这样的两个值:如何根据两个字段的差异对集合进行排序?
{
originalPrice: 500,
ourPrice: 420
}
正如你可以想像,我希望用户能够通过多少,他们会从我们这里,而不是节省购物排序从竞争对手中,在这个特别的好是80
但是,该值本身不是在数据库中,所以我不能简单地做
Goods.find({}, {sort: saveAmount: 1})
或类似的东西。
将这个数字插入数据库可能是一件容易的事情,但除非以其他方式让事情工作的方法非常复杂,否则我宁愿不这样做。
所以我想一个函数,这样做,
var saveAmount = function(originalPrice, ourPrice) {
return originalPrice - ourPrice
}
并以某种方式使用这个值来排序!
我该怎么做?
你有看着使用[聚合](http://docs.mongodb.org/manual/aggregation/)? –
@JasonCust不,第一次听说它! – Yeats
您是否试过[Map-reduction](http://docs.mongodb.org/manual/core/map-reduce/)? – Alp