1

该文档有两个字段:品牌和类别。

function(doc) {
    if (doc.db_type == 'product') {
        emit([doc.brand, doc.category], null);
    }
}

在 group_level1 中,结果将是所有品牌。在 group_level2 中,结果将是所有唯一的品牌和类别。

如果我想获得所有品牌和关联类别怎么办。

关键是品牌名称,价值是其类别。

所以,我可以迭代结果。

以下是一些示例数据:

  • 品牌:A,类别:水果
  • 品牌:A,类别:水果
  • 品牌:A,类别:汽车
  • 品牌:B,类别:水果

我想要的是:

  • 键:品牌A,值:[水果,汽车]
  • 键:品牌B,价值:[水果]
4

2 回答 2

1

您可以使用 查询现有视图reduce=false。键在结果集中(按顺序)返回,因此您可以迭代它们。

如果您只想获取与特定品牌关联的类别,您也可以指定startkey=[<brand>]&endkey=[<brand>,{}]

于 2013-07-08T08:05:06.990 回答
0
function(doc) {
  if (doc.db_type == 'product') {
    emit(doc.brand, doc.category);
  }
}

function (keys, values, rereduce) {
    var category = {};
    for (var index in values) {
        category[values[index]] = values[index];
    }
    return category;
}
于 2013-07-11T08:03:21.437 回答