Couchdb 简明教程

CouchDB - Updating a Document

Updating Documents using cURL

你可以使用 cURL 实用程序通过使用 PUT 方法向服务器发送 HTTP 请求来更新 CouchDB 中的文档。以下是对文档进行更新的语法。

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

Example

假设在名为 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 " }

Verification

若要验证文档,请按如下所示使用 GET 请求再次获取文档。

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

以下是更新文档时需要指出的几个要点。

  1. 我们发送请求中包含数据库名称和文档 ID 的 URL。

  2. 更新现有文档与更新整个文档相同。你无法向现有文档添加一个字段。你只能使用同一个文档 ID 将整个新版本的文档写入数据库。

  3. 我们必须在 JSON 请求中提供版本号。

  4. 作为回报,JSON 包含成功消息、正在更新的文档 ID 以及新版本信息。如果你希望更新新版本的文档,则必须引用此最新版本号。

Updating Documents using Futon

若要删除文档,请打开 http://127.0.0.1:5984/_utils/ URL 以获取如下图所示的 CouchDB 的概述/索引页面。

create document

选择存在待更新文档的数据库并单击它。我们在此更新名为 tutorials_point 的数据库中的一个文档。你将获得数据库中的文档列表,如下图所示。

update document

选择要更新的文档并单击它。你将获得文档的内容,如下图所示。

document contents

在此,若要将位置从德里更新为海得拉巴,请单击文本框,编辑字段,然后单击绿色按钮以保存更改,如下图所示。

save changes