1

couchDBで、マップ結果が空の場合でも、reduceは呼び出されますか?もしそうなら、キーと値の両方が空ですか?

私のユースケース(そしてうまくいけば、これを行うためのより良い方法があります):

クラスターにクエリを送信すると、アイテムのリストと返されたアイテムの数の両方が必要になります(マップでは提供されていないようです...ビューの総数のみが表示され、フィルター処理されたビューの結果は表示されません)。次に、reduceを呼び出して、別のクエリでカウントを取得します。

ViewResultが空の場合があります。これにより、reduceはnullを返します。このnullを探すことはできますが、これがcouchdbの世界で正しいアプローチであるとは思えません。

編集:私が使用しているORMはそれを行う方法をサポートしていることがわかりました。

4

2 に答える 2

2

行がない場合、reduce 関数は呼び出されません。

目標を達成する最も簡単な方法は、マップを実行し、コードに戻って、CouchDB から返された行配列の長さを取得することです。

于 2012-07-19T15:33:33.090 に答える
0

空のマップで呼び出される reduce 関数は、実際にはバグであり、何ヶ月も前に修正を支援しました。1.2で修正されたと思います。1.1 を使用する準備ができている場合、このバグはまだ存在し、使用できる可能性があります。

于 2012-07-21T18:36:42.577 に答える