2

私はcouchbdを学ぶ必要があり、ビューに関するチュートリアルを行ってきました。概念的には理解していますが、実際には、ビューをクエリするときにビューパラメータを効果的に提供することはできません。私は可能な限り例の構文に従っています。したがって、次の簡単な設計ドキュメントがあります。

{"_id":"_design/simple","_rev":"1-0391fe242d8b6045da1984283287f91c","views":{"foo":{"map":"function(doc) { if(doc.date && doc.title) {emit(doc.date, doc.title);}}"}}}

ビューパラメータなしでビューfooをクエリすると、次の結果が得られます。

curl http://127.0.0.1:5984/viewtester/_design/simple/_view/foo

を生成します

{"total_rows":3,"offset":0,"rows":[
{"id":"hello-world","key":"2009/01/15 15:52:20","value":"Hello World"},
{"id":"biking","key":"2009/01/30 18:04:11","value":"Biking"},
{"id":"bought-a-cat","key":"2009/02/17 21:13:39","value":"Bought a Cat"}
]}

ただし、ビューパラメータの追加は機能しないようです。

curl http://127.0.0.1:5984/viewtester/_design/simple/_view/foo?key="2009/01/15 15:52:20"

出力は生成されず、次のコマンドプロンプトに送られます。さまざまな種類のキーを使用してさまざまな例を試しましたが、同じ問題が発生しました。

私が間違っていることについての洞察をいただければ幸いです。

ありがとう、ノーウェル

4

1 に答える 1

1

Cheesoは正しいです。値だけ"でなく、他の文字もURLエンコードする必要があります。実際、に置き換えcurlecho、処理が終了した後、シェルが実際にカールするために通過するものを確認します。

FWIW、私たちのほとんどは、ブラウザでビューをヒットするなど、読み取りクエリを実行すると思います。したがって、すべてのurlエンコードが処理されます。

于 2012-06-29T01:58:11.757 に答える