Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Представление CouchDB выдает неверную ошибку JSON UTF-8 при использовании ключа, startkey

Автор вопроса: Jim WhartonОтветов: 3

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

Что я делаю неправильно? Это должно быть ОЧЕНЬ базовой вещью.

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

jsoncurlcouchdb

Ответы

Ответ 1 · рейтинг 31 · JasonSmith

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

Ответ 2 · рейтинг 5 · D George k

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

curl -X GET http://localhost:5984/plots/_design/by_date/_view/by_date?startkey=\"2010-05-01\"

Ответ 3 · рейтинг 3 · Arindam

curl xxx:xxxm@aaaa:5984/kitsi_arin/_design/arinDesign/_view/TestView2?key=\"Arindam\"

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы