在本篇文章中,我们来学习如何编辑/修改 CouchDB 数据库中的文档。编辑/修改 CouchDB 数据库中的文档有两种方法,下面分别来看看如何操作。
打开Fauxton url:http://127.0.0.1:5984/_utils
在创建文档后,还可以更新/更改/编辑文档。首先打数据库概览,里边有文档列表,如下表所示 -
点击想要修改的文档,例如点击ID
为10010
这一条文档信息,进入文档详细页面 -
双击要修改的数据项,如上图中,修改age
字段的值,出现可编辑的输入框后填写修改的数据信息,然后点后面的绿色“勾”图标保存新填入的数据,然后再点击左上角的“Save Document”即可。
cURL方便用户通过cURL工具,向服务器发送HTTP PUT方法请求来更新CouchDB中的文档。
语法
curl -X PUT http://localhost:5984/database_name/document_id/ -d '{ "field" : "value", "_rev" : "revision id" }'
例子:
在数据库zyiz_db
中有一个id
为10010
的文档。
首先,检索要更新的文档的修订版本号。可以使用以下命令在文档中找到文档的_rev
:
zyiz@ubuntu:~$ curl -X GET http://127.0.0.1:5984/zyiz_db/10010 {"_id":"10010","_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454","name":"minsu","age":28,"address":"No. 112 ZhongShangRoad GuangZhou"} zyiz@ubuntu:~$
从上面获得的文档的修订版本号_rev
来更改数据。 在这里,假设要将年龄从28
岁改为22
岁,名称修改为:Maxsu
,那么可以使用如下请求命令 -
curl -H 'Content-Type: application/json' -X PUT http://127.0.0.1:5984/zyiz_db/10010/ -d'{"age": "22","name":"Maxsu", "_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454"}'
执行结果如下所示 -
zyiz@ubuntu:~$ curl -H 'Content-Type: application/json' -X PUT http://127.0.0.1:5984/zyiz_db/10010/ -d'{"age": "22","name":"Maxsu", "_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454"}' {"ok":true,"id":"10010","rev":"3-592bfcd696098263c19dfe761bf92929"} zyiz@ubuntu:~$ curl -X GET http://127.0.0.1:5984/zyiz_db/10010 {"_id":"10010","_rev":"3-592bfcd696098263c19dfe761bf92929","age":"22","name":"Maxsu"} zyiz@ubuntu:~$
可以看到上面返回的数据已经是修改过的数据了。
在更新文档时要记住的要点:
_rev
)用作JSON请求的一部分。