私はCouchDBを初めて使用し、非常に基本的な質問があります:
クライアントからマップ関数に変数を渡す可能性はありますか?
function (doc, params) {
if (doc.property > params.property) emit(doc, null);
}
助けてくれてありがとう、クリスチャン
私はCouchDBを初めて使用し、非常に基本的な質問があります:
クライアントからマップ関数に変数を渡す可能性はありますか?
function (doc, params) {
if (doc.property > params.property) emit(doc, null);
}
助けてくれてありがとう、クリスチャン
いいえ、マップ関数は、常に同じ入力を受け取り、同じ出力を生成するインデックスを作成することになっているため、増分を維持できます。(そして速い)
ビューの結果に対して何らかのフィルタリングを行う必要がある場合は、関数の使用を検討してください。_list
関数を使用すると、クライアントから提供されたクエリ文字列変数を取得して、それらを変換に使用できます。
ドミニクの答えは正しいですが、実際の質問の例は、適切なキーとstartkey
. したがって、例に示す機能が必要な場合は、ビューを次のように変更する必要があります。
function(doc) {
if( doc.property )
emit( doc.property, null);
}
そして、クエリは次のようになります。
/db_name/_design/view_doc/_view/view_name?startkey="property_param"&include_docs=true
これは、あなたの例があなたが求めていることを示唆しています。
key
これは、CouchDB を操作するための鍵です (駄洒落は面白いです): 、またはおよび/またはkeys
の組み合わせを使用して、キーに基づいてビューのサブセットを選択できるビューを作成します。startkey
endkey