Couchbase减少多个值
我正在Couchbase 3.0.1中构建一个视图,并希望减少地图中的多个值,但我不确定正确的方法 对于order对象,我试图解决的问题是,我希望减少映射中的多个值(特别是小计、税和合计)。我首先将值作为对象输出:Couchbase减少多个值,couchbase,couchbase-view,Couchbase,Couchbase View,我正在Couchbase 3.0.1中构建一个视图,并希望减少地图中的多个值,但我不确定正确的方法 对于order对象,我试图解决的问题是,我希望减少映射中的多个值(特别是小计、税和合计)。我首先将值作为对象输出: function (doc, meta) { if (doc.object == "order") { emit(dateToArray(doc.order_date), {subtotal: doc.subtotal, tax: doc.tax, total: doc.
function (doc, meta) {
if (doc.object == "order") {
emit(dateToArray(doc.order_date), {subtotal: doc.subtotal, tax: doc.tax, total: doc.total});
}
}
但是,这对我帮助不大,因为我不确定在贴图输出自定义对象时如何减少值。显然,内置的_sumreduce函数无法处理它,因此:
是否有人可以提供一些建议,说明如何在Couchbase中减少地图输出中的几个值?您可以编写自己的自定义减少函数。自定义reduce接受3个参数:
reduce(键、值、重减量){
var结果=值[0];
对于(变量i=1;i
完美-正是我所需要的。非常感谢。
reduce(key, values, rereduce) {
var result = values[0];
for(var i = 1; i < values.length; i++) {
result.subtotal += values[i].subtotal;
result.tax += values[i].tax;
result.total += values[i].total;
}
return result;
}