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