我想按照使用.map()后获得的新值对结果进行排序。这怎么可管理?我没有运气就咨询了API。
在我的示例中,我将不同货币的价格存储在数据库中,但我希望在应用日常汇率后按价格订购。
这是我的ReQL查询:
r.table('price_variants')
.orderBy({index: 'price'})
.filter({'productID': product('id'), 'currentlyUsed': true})
.limit(1)
.map(function(variant) {
variant = variant.merge({
price: r.branch(
variant
.hasFields('exchange_type')
.and(variant('exchange_type')
.eq('EURUSD')), //IF EUR
variant('price').mul(exchangeRateUSDEUR), //THEN convert to USD
variant('price')), //ELSE just use original price
)
})
})
提前致谢!
答案 0 :(得分:0)
可以使用orderBy
在地图之前或之后对结果进行排序。例如:
r.table('foo')
.map(function(foo){
return foo.merge({c: foo('a').add(foo('b'))});
})
.orderBy('c')
但是,您的具体示例有一些问题可能需要先解决。
.limit(1)
)