2011-12-17 3 views
1

私は私が試してみて、IRBCouchRest.putを実行しているのエラー()

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

でコマンドを実行すると、私はエラーを取得、CouchDBのドキュメントを更新する必要がある -

RestClient ::リクエストを::無断:401権限:{「エラー」:「不正」、「理由」:「あなたは、サーバーの管理者ではありません。」}

同じコンソールで、私は正常に実行することができていますが -

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

誰か助けてください。

乾杯!

答えて

3

これは簡単です。 APIには、dbの名前(例: "db")に対するPUTが管理者権限を必要とする新しいデータベースの作成を試みると記載されています。

新しい文書を作成するには、正常に行ったようにPOSTを使用することができますが、API文書はPOSTの使用を妨げます。 PUTは、作成と更新の両方に使用できます。

既存のドキュメントを更新するには、URLのパスにあるドキュメントのIDとJSONで更新するリビジョンを指定してPUTを使用します。例:CouchRest.put('http://localhost:5984/db/1', {"rev": "sdf", "test": "testing"})

詳細については、Apache's Document API doc in the WikiのAPIドキュメントをご覧ください。

+0

おかげで、それはトリックでした! – verdure

関連する問題