MST

星途 面试题库

面试题:CouchDB中Map函数如何对复杂嵌套数据结构进行转换应用

假设在CouchDB中有一个文档,其数据结构为 {"name":"John","hobbies":[{"name":"reading","details":{"favoriteGenre":"fiction"}},{"name":"traveling","details":{"visitedCountries":["USA","UK"]}}]} 。请编写一个Map函数,将其转换为包含人员姓名及每个爱好的简单信息的新格式,例如 {"name":"John","hobby_name":"reading","hobby_detail":"fiction"} 和 {"name":"John","hobby_name":"traveling","hobby_detail":"USA,UK"} 这样的形式。
49.8万 热度难度
数据库CouchDB

知识考点

AI 面试

面试题答案

一键面试
function(doc) {
    if (doc.name && doc.hobbies) {
        doc.hobbies.forEach(function(hobby) {
            var hobby_detail;
            if (hobby.name === "reading") {
                hobby_detail = hobby.details.favoriteGenre;
            } else if (hobby.name === "traveling") {
                hobby_detail = hobby.details.visitedCountries.join(",");
            }
            emit(null, {
                name: doc.name,
                hobby_name: hobby.name,
                hobby_detail: hobby_detail
            });
        });
    }
}