1

ドキュメントには、ブランドとカテゴリの 2 つのフィールドがあります。

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

group_level1 では、結果はすべてのブランドになります。group_level2 では、結果はすべて一意のブランドとカテゴリになります。

すべてのブランドと関連カテゴリを取得したい場合はどうすればよいでしょうか。

キーのようなものはブランド名で、値はそのカテゴリです。

したがって、結果を反復できます。

サンプルデータは次のとおりです。

  • ブランド: A、カテゴリー: 果物
  • ブランド: A、カテゴリー: 果物
  • ブランド: A、カテゴリ: 車
  • ブランド: B、カテゴリー: フルーツ

私が欲しいのは:

  • キー: brandA、値: [果物、車]
  • キー:ブランド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 に答える