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 "
}
以下是更新文档时需要指出的几个要点。
-
我们发送请求中包含数据库名称和文档 ID 的 URL。
-
更新现有文档与更新整个文档相同。你无法向现有文档添加一个字段。你只能使用同一个文档 ID 将整个新版本的文档写入数据库。
-
我们必须在 JSON 请求中提供版本号。
-
作为回报,JSON 包含成功消息、正在更新的文档 ID 以及新版本信息。如果你希望更新新版本的文档,则必须引用此最新版本号。
Updating Documents using Futon
若要删除文档,请打开 http://127.0.0.1:5984/_utils/ URL 以获取如下图所示的 CouchDB 的概述/索引页面。
选择存在待更新文档的数据库并单击它。我们在此更新名为 tutorials_point 的数据库中的一个文档。你将获得数据库中的文档列表,如下图所示。
选择要更新的文档并单击它。你将获得文档的内容,如下图所示。
在此,若要将位置从德里更新为海得拉巴,请单击文本框,编辑字段,然后单击绿色按钮以保存更改,如下图所示。