如何在 CouchDB/Cloudant 上获得 "fieldcount"(如 wordcount)?

How to get a "fieldcount" (like wordcount) on CouchDB/Cloudant?

尝试获取字段计数,就像经典的字数统计示例一样。我认为这将是微不足道的...

但我得到了这个无用的结果...

{"rows":[
{"key":null,"value":212785214}
]}

我怎样才能得到我想要的...我的文档中使用的所有字段的清单,以及它们出现的次数?

要计算文档中每个键的数量,请创建一个 "map" 函数,如下所示:

function (doc) {
  var keys = Object.keys(doc);
  for(var i in keys) {
    emit(keys[i], null);
  }
}

并使用内置的 _count 减速器。

然后您可以像这样访问视图来检索分组的答案:

/mydb/_design/<designdocname>/_view/<viewname>?group_level=1

这将生成分组键和计数,如下所示:

{"rows":[
{"key":"_id","value":4},
{"key":"_rev","value":4},
{"key":"a","value":3},
{"key":"c","value":1}
]}