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 编码,不仅仅是"s,还有其他字符。事实上,替换curlecho查看你的 shell 在完成处理后真正传递给 curl 的内容。

FWIW,我认为我们大多数人都在浏览器中点击了我们的阅读查询,比如点击视图——所以所有的 url 编码都为我们处理好了。

于 2012-06-29T01:58:11.757 回答