在我的收藏,每個文檔有看起來像這樣的兩個值:如何根據兩個字段的差異對集合進行排序?
{
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