CouchDB view бросает недопустимую ошибку JSON UTF-8 при использовании ключа, кнопки запуска
У меня есть ОЧЕНЬ основной вид, определенный в 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"}
Что я делаю неправильно? Это должно быть ОЧЕНЬ основная вещь.
Спасибо,
-Джим
Ответы
Ответ 1
CouchDB должен видеть двойные кавычки.
Bash, вероятно, есть ваши двойные кавычки до запуска curl
. Поместите URL (двойные кавычки и все) в одинарные кавычки.
curl -X GET 'http://localhost:5984/plots/_design/by_date/_view/by_date?startkey="2010-05-01"'
Таким образом, Bash отправит кавычки в curl
, которые отправят их в CouchDB.
Возможно, Firefox или Futon тоже есть ваши цитаты. У Futon есть значок с серым указателем в правом верхнем углу. Это связано с необработанным URL-адресом представления. Попробуйте добавить startkey
туда. Вы также можете ввести двойные кавычки как %22
.
Ответ 2
Я не знаю, было ли у вас уже решение. В любом случае для зрителей, подобных мне, у меня такая же ошибка. Это решение. Я пробовал в windows
curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey=\"2010-05-01\"
Ответ 3
curl xxx:[email protected]:5984/kitsi_arin/_design/arinDesign/_view/TestView2?key=\"Arindam\"
Это работает для меня в cygwin