Mapreduce Couchdb获得品牌';所有类别

Mapreduce Couchdb获得品牌';所有类别,mapreduce,couchdb,Mapreduce,Couchdb,文档有两个字段:品牌和类别。 在第1组中,结果将是所有品牌。 在第2组中,结果将是所有独特的品牌和类别 如果我想获得所有品牌和关联类别的信息,该怎么办 关键是品牌名称,价值是其类别 因此,我可以迭代结果 以下是一些示例数据: 品牌:A,类别:水果 品牌:A,类别:水果 品牌:A,类别:汽车 品牌:B,类别:水果 我想要的是: 钥匙:布兰达,价值:[水果,汽车] 键:brandB,值:[水果] 您可以使用reduce=false查询现有视图。这些键在resultset中按顺序返回,因此您可

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

在第1组中,结果将是所有品牌。 在第2组中,结果将是所有独特的品牌和类别

如果我想获得所有品牌和关联类别的信息,该怎么办

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

因此,我可以迭代结果

以下是一些示例数据:

  • 品牌:A,类别:水果
  • 品牌:A,类别:水果
  • 品牌:A,类别:汽车
  • 品牌:B,类别:水果
我想要的是:

  • 钥匙:布兰达,价值:[水果,汽车]
  • 键:brandB,值:[水果]

您可以使用
reduce=false
查询现有视图。这些键在resultset中按顺序返回,因此您可以对它们进行迭代


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

您可以使用
reduce=false
查询现有视图。这些键在resultset中按顺序返回,因此您可以对它们进行迭代

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;
}

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

redece=false,我将获得类别的多个副本,我想将所有类别放在一个集合中,每个类别都是唯一的。使用startkey和endkey,我不会查询任何内容。我想要全部。我必须使用组级别1来获取所有品牌,迭代品牌,使用startkey和endkey来获取所有类别,总请求计数将是1+计数(品牌),我能在一个请求中完成吗?我认为Will是正确的@卢瑟,你能不能添加一些示例数据,以及你希望看到的结果?我想也许我们还是误解了什么。谢谢redece=false,我将得到多个类别的副本,我想把所有类别放在一个集合中,每个类别都是唯一的。使用startkey和endkey,我不会查询任何内容。我想要全部。我必须使用组级别1来获取所有品牌,迭代品牌,使用startkey和endkey来获取所有类别,总请求计数将是1+计数(品牌),我能在一个请求中完成吗?我认为Will是正确的@卢瑟,你能不能添加一些示例数据,以及你希望看到的结果?我想也许我们还是误解了什么。谢谢
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;
}