2016-05-06 9 views
0

私は非常に単純なマップを持っています/私は達成する必要があります。私は私たちのデータベース内のすべての一意のdocType値のリストを取得する必要があります。しかし、できるだけ早く私は削減機能を追加すると、私は次のエラーを取得:CouchDBマップ/簡単なクエリのようなエラーを減らす

"Expression does not eval to a function." etc. 

私はCouchDBのクックブックとWIKIからの例を以下だが、これは簡単な愚かであるので、私はなぜわかりませんそれは失敗している。次のように

マップコードは、次のとおり

function(doc){ if(doc.docType) emit(doc.docType,1); } 

これはまだ明確なグループ分けすることなくすべてのDOCTYPEを返します。

削減は、私が見てきたサンプルから直接です:

function reduce(key,values){ return null; } 

これはすぐに私が何をしないのです...上記のエラーがスローされますか?

ご協力いただければ幸いです。

ありがとうございます!

答えて

1

CouchDBでハンドラ関数を追加するときは、関数識別子を含めないでください。関数識別子は、無名関数と同様に扱います。 (それはCouchDBがあなたの文字列をJS関数に変換する方法と関係していますが、私は細かいことは分かりません)

したがって、reduce関数の場合は、reduceの識別子をそのままにしておきます。

function (keys, values) { 
    return null; 
} 
関連する問題