我有一个观点
function(doc) {
if (doc.type == "XXXXX") {
emit(doc.name, 1);
}
}
是否可以更改它以便视图只发出该doc.name(如果已经不存在)?我完全清楚你有减少功能;但是,它仍然减慢了视图的初始构建。
提前致谢
答案 0 :(得分:2)
结帐couchdb reduce grouping。我想如果你的观点是为了发出:
emit(doc_name,1)
并且您的reduce函数是_sum,您可以使用group = true
查询此map / reduce视图答案 1 :(得分:0)
从根本上说,map函数只包含传递给它的文档的上下文。唯一可能的优化是Erlang本机视图(或Cloudant Query - 请注意,目前还没有公开reduce。)
答案 2 :(得分:0)
我认为唯一的方法是使用reduce,然后使用dbcopy:
"map": emit(doc.name, 1);
"reduce": return keys[0];
"dbcopy": "unique_names"
这样你就有了一个名为" unique_names"的新预先计算的数据库。只有独特的物品。
我不认为可以在没有减少的情况下提出问题。