CouchDB reduce 函数给出了意想不到的结果
Posted
技术标签:
【中文标题】CouchDB reduce 函数给出了意想不到的结果【英文标题】:CouchDB reduce function gives unexpected results 【发布时间】:2012-07-31 15:05:44 【问题描述】:我正在开发一个沙发应用程序。我的文档包含一个名为标签的字段,我正在尝试检索所有文档中的唯一标签。我的map/reduce函数如下:
map.js
function(doc)
if(doc.tags)
emit(doc.tags,1);
reduce.js
function(keys,values,rereduce)
return sum(values);
并且返回的输出是所有标签的计数。我哪里错了?
【问题讨论】:
0 个接受的答案....祝你好运。 【参考方案1】:如果你想要一个所有标签的列表,你不需要 reduce 函数。您需要使用
选项group=true
。所以例如你打电话给
http://localhost:5984/yourdb/views/tag_view?group=true
或者couch.js你可以这样做
$.couch.db.view('your_view', data: "group": true);
如果您查看文档,您会看到为请求定义 ajaxOptions
的方式与在 jQuery 中为普通 ajax 请求定义它们的方式相同。因此,您只需使用记录在 here 的数据选项
欲了解更多信息,请参阅CouchDB Wiki Grouping。
【讨论】:
我正在使用 jquery.couch.js 插件。那么我该如何称呼它:我尝试了 $.couch.db($db).view("app/my_view?group=true") 但效果很好。以上是关于CouchDB reduce 函数给出了意想不到的结果的主要内容,如果未能解决你的问题,请参考以下文章
CouchDB:使用 Reduce 时如何在 Map 函数中使用数组键?
CouchDB reduce函数的键(值)参数的排序顺序保证?