鉴于我的 CouchDB 数据库中有一些文档,我希望能够获得按与每个标签关联的文档数量排序的标签列表。文档具有以下结构:
{
"name": "Document Name 1",
"description": "Document description",
"tags": ["tag1", "tag2", "tag3"]
}
我显然可以创建一个视图,该视图将列出每个标签以及与每个标签关联的许多文档,如下所示:
function(doc) {
if (doc.type == "Document") {
for (tag in doc.tags) {
emit(tag, 1)
}
}
};
function(keys, values, rereduce) {
return sum(values);
}
这种方法的问题是标签名称将是此结果集中的键,因此我将无法按文档数量排序,也无法将结果限制为前 X 个标签。我觉得我遗漏了一些非常明显的东西,但仍然看不到解决方案。