MST
星途 面试题库

面试题:CouchDB中Reduce函数对常见复杂数据结构的聚合应用

假设有一个CouchDB数据库,文档结构如下:{"user_id": "123", "orders": [{"order_id": "o1", "amount": 100}, {"order_id": "o2", "amount": 200}]}。请编写一个Map函数和Reduce函数,用于计算每个用户的总订单金额。
29.1万 热度难度
数据库CouchDB

知识考点

AI 面试

面试题答案

一键面试

Map函数

function(doc) {
    if (doc.orders) {
        emit(doc.user_id, doc.orders.map(order => order.amount));
    }
}

Reduce函数

function(keys, values, rereduce) {
    return values.reduce((sum, subArray) => {
        return sum + subArray.reduce((subSum, amount) => subSum + amount, 0);
    }, 0);
}