Ошибка при запуске CouchRest.put () - PullRequest
1 голос
/ 17 декабря 2011

Мне нужно обновить документ couchdb, когда я пытаюсь запустить команду в irb

  CouchRest.put('http://localhost:5984/db', {"_id": "1","_rev": "sdf", "test": "testing"})

Я получаю ошибку -

RestClient :: Request :: Unauthorized: 401 Unauthorized: {"error": "unauthorized", "reason": "Вы не являетесь администратором сервера."}

Находясь в той же консоли, я могу успешно запустить -

  CouchRest.post('http://localhost:5984/db', {"test": "testing"})

Может кто-нибудь помочь с этим, пожалуйста.

Ура! * * 1013

1 Ответ

3 голосов
/ 17 декабря 2011

Это просто.API заявляет, что PUT для имени db (в вашем примере «db») пытается создать новую базу данных, которая требует прав администратора.

Чтобы создать новый документ, вы можете использовать POSTкак вы успешно, но документы API не поощряют использование POST.PUT могут использоваться как для создания, так и для обновления.

Чтобы обновить существующий документ, используйте PUT с идентификатором документа в пути URL-адреса и желаемой ревизией для обновления в JSON;например, CouchRest.put('http://localhost:5984/db/1', {"rev": "sdf", "test": "testing"})

Для получения дополнительной информации см. документацию по API на Документ API Apache в вики .

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