当我尝试在irb中运行该命令时,我需要更新couchdb文档
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"})有人能帮个忙吗?
干杯!
发布于 2011-12-17 16:37:29
这一点很简单。API指出,针对数据库名称的PUT (在您的示例中为" db ")尝试创建一个新数据库,这需要管理员权限。
要创建新文档,您可以像以前那样使用POST,但API文档不鼓励使用POST。PUT既可以用于创建,也可以用于更新。
要更新现有文档,请在URL路径中使用PUT,其中包含文档的ID和要在JSON中更新的所需修订;例如,CouchRest.put('http://localhost:5984/db/1', {"rev": "sdf", "test": "testing"})
有关更多信息,请参阅Apache's Document API doc in the Wiki上的接口文档。
https://stackoverflow.com/questions/8542370
复制相似问题