Представление CouchDB, выбрасывающее неверную ошибку JSON UTF-8 при использовании клавиши startkey - PullRequest
15 голосов
/ 17 марта 2011

У меня ОЧЕНЬ базовый вид, определенный в 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"}

Чтоя делаю не так?Это должно быть ОЧЕНЬ элементарно.

Спасибо, -Джим

Ответы [ 3 ]

28 голосов
/ 17 марта 2011

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или Футон тоже ест твои цитаты.Футон имеет серый значок указателя в правом верхнем углу.Это ссылки на необработанный URL-адрес представления.Попробуйте добавить туда startkey.Вы также можете ввести двойные кавычки как %22.

4 голосов
/ 18 апреля 2011

Я не знаю, есть ли у вас уже решение ... во всяком случае для таких зрителей, как я, которые получили ту же ошибку.Это решение.Я пробовал в windows

curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey=\"2010-05-01\"
2 голосов
/ 24 января 2013
curl xxx:xxxm@aaaa:5984/kitsi_arin/_design/arinDesign/_view/TestView2?key=\"Arindam\"

Это работает для меня в Cygwin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...