我在CouchDB中定义了一个非常基本的视图:
function(doc) {
if(doc.date && doc.erc) {
emit(doc.date, doc.erc);
}
}
它只是按日期提取所有文件和排序。
我试过追加
?startkey="2010-05-01"
到URL和Futon只是浏览器重定向。
我也尝试过使用CURL:
curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey="2010-05-01"
抛出错误:
{"error":"bad_request","reason":"invalid UTF-8 JSON"}
我做错了什么?这应该是一件非常基本的事情。
谢谢, -Jim
答案 0 :(得分:26)
CouchDB需要看双引号。
在curl
运行之前,Bash可能正在吃双引号。将URL(双引号和全部)放在单引号中。
curl -X GET 'http://localhost:5984/plots/_design/by_date/_view/by_date?startkey="2010-05-01"'
这样,Bash会将引号发送到curl
,然后将它们发送到CouchDB。
可能Firefox或者还在吃你的报价。被褥的右上方有一个灰色指针图标。这链接到视图的原始URL。尝试在那里添加startkey
。您也可以输入双引号%22
。
答案 1 :(得分:4)
我不知道你是否已经得到了解决方案..无论如何,像我这样的观众有同样的错误。这是解决方案。我在windows中试过
curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey=\"2010-05-01\"
答案 2 :(得分:2)
curl xxx:xxxm@aaaa:5984/kitsi_arin/_design/arinDesign/_view/TestView2?key=\"Arindam\"
这对我在cygwin中起作用
答案 3 :(得分:0)
您也可以使用 URL %codes
,大多数提取程序将 %22
转换为双引号 "
curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey=%222010-05-01%22