Couchdb-updating-a-document

提供:Dev Guides
移動先:案内検索

CouchDB-ドキュメントの更新

cURLを使用してドキュメントを更新する

cURLユーティリティを介してPUTメソッドを使用してHTTP要求をサーバーに送信することにより、CouchDBのドキュメントを更新できます。 以下は、ドキュメントを更新するための構文です。

curl -X PUT http://127.0.0.1:5984/database_name/document_id/-d '{ "field" : "value", "_rev" : "revision id" }'

my_databaseという名前のデータベースにID 001のドキュメントがあるとします。 以下に示すように、これを削除できます。

まず、更新するドキュメントのリビジョンIDを取得します。 ドキュメント自体でドキュメントの _rev を見つけることができるため、次のようにドキュメントを取得します。

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   "_id" : "001",
   "_rev" : "2-04d8eac1680d237ca25b68b36b8899d3 " ,
   "age" : "23"
}

ドキュメントのリビジョンID _revを使用して、ドキュメントを更新します。 ここでは、年齢を23から24に更新しています。

$ curl -X PUT http://127.0.0.1:5984/my_database/001/-d
' { " age " : " 24 " , " _rev " : " 1-1c2fae390fa5475d9b809301bbf3f25e " } '

{ " ok " : true , " id " : " 001 " , " rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " }

検証

ドキュメントを確認するには、以下に示すようにGETリクエストを使用してドキュメントを再度取得します。

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   " _id " : " 001 ",
   " _rev " : " 2-04d8eac1680d237ca25b68b36b8899d3 " ,
   " age " : " 23 "
 }

注意

以下は、ドキュメントを更新する際に注意すべき重要なポイントです。

  • データベース名とドキュメントIDを含むリクエストで送信するURL。
  • 既存のドキュメントの更新は、ドキュメント全体の更新と同じです。 既存のドキュメントにフィールドを追加することはできません。 同じドキュメントIDを使用して、まったく新しいバージョンのドキュメントのみをデータベースに書き込むことができます。
  • JSONリクエストの一部としてリビジョン番号を提供する必要があります。
  • JSONには、成功メッセージ、更新中のドキュメントのID、および新しいリビジョン情報が含まれます。 ドキュメントの新しいバージョンを更新する場合は、この最新のリビジョン番号を引用する必要があります。

Futonを使用してドキュメントを更新する

ドキュメントを削除するには、 http://127.0.0.1:5984/_utils/ のURLを開いて、以下に示すようにCouchDBのOverview/indexページを取得します。

ドキュメントの作成

更新するドキュメントが存在するデータベースを選択してクリックします。 ここでは、 tutorials_point という名前のデータベース内のドキュメントを更新しています。 以下に示すように、データベース内のドキュメントのリストを取得します。

ドキュメントの更新

更新するドキュメントを選択してクリックします。 以下に示すように、ドキュメントの内容を取得します。

ドキュメントの内容

ここで、場所をデリーからハイデラバードに更新するには、テキストボックスをクリックし、フィールドを編集し、緑色のボタンをクリックして、以下に示すように変更を保存します。

変更を保存