CouchDB使用fauxton、cURL工具更新(编辑)文档

2019-08-1808:27:46数据库教程Comments3,266 views字数 1594阅读模式

学习如何编辑/修改 CouchDB 数据库中的文档。编辑/修改 CouchDB 数据库中的文档有两种方法,下面分别来看看如何操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

1. 使用fauxton更新(编辑)文档

打开Fauxton url:http://127.0.0.1:5984/_utils文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

在创建文档后,还可以更新/更改/编辑文档。首先打数据库概览,里边有文档列表,如下表所示 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

CouchDB使用fauxton、cURL工具更新(编辑)文档文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

点击想要修改的文档,例如点击ID10010这一条文档信息,进入文档详细页面 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

CouchDB使用fauxton、cURL工具更新(编辑)文档文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

双击要修改的数据项,如上图中,修改age字段的值,出现可编辑的输入框后填写修改的数据信息,然后点后面的绿色“勾”图标保存新填入的数据,然后再点击左上角的“Save Document”即可。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

2. CouchDB使用cURL工具更新文档

cURL方便用户通过cURL工具,向服务器发送HTTP PUT方法请求来更新CouchDB中的文档。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

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

例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

在数据库yiibai_db中有一个id10010的文档。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

首先,检索要更新的文档的修订版本号。可以使用以下命令在文档中找到文档的_rev文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

yiibai@ubuntu:~$ curl -X GET http://127.0.0.1:5984/yiibai_db/10010
{"_id":"10010","_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454","name":"minsu","age":28,"address":"No. 112 ZhongShangRoad GuangZhou"}
yiibai@ubuntu:~$
Shell

从上面获得的文档的修订版本号_rev来更改数据。 在这里,假设要将年龄从28岁改为22岁,名称修改为:Maxsu,那么可以使用如下请求命令 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

curl -H 'Content-Type: application/json' -X PUT http://127.0.0.1:5984/yiibai_db/10010/ -d'{"age": "22","name":"Maxsu",  "_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454"}'
Shell

执行结果如下所示 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

yiibai@ubuntu:~$ curl -H 'Content-Type: application/json' -X PUT http://127.0.0.1:5984/yiibai_db/10010/ -d'{"age": "22","name":"Maxsu",  "_rev":"2-b4aa165c0e34ec08581e7dc9f85ec454"}'
{"ok":true,"id":"10010","rev":"3-592bfcd696098263c19dfe761bf92929"}
yiibai@ubuntu:~$ curl -X GET http://127.0.0.1:5984/yiibai_db/10010
{"_id":"10010","_rev":"3-592bfcd696098263c19dfe761bf92929","age":"22","name":"Maxsu"}
yiibai@ubuntu:~$
Shell

可以看到上面返回的数据已经是修改过的数据了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

在更新文档时要记住的要点:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html

  • 在请求中发送的URL必须包含数据库名称和文档ID。
  • 更新现有文档与更新整个文档相同。无法向现有文档添加字段。只能使用相同的文档ID将文档的全新版本写入数据库。
  • 使用修订号(_rev)用作JSON请求的一部分。
  • 在返回的JSON数据中包含成功消息,正在更新的文档的ID以及新的修订信息。 如果要更新文- 档的新版本,则必须引用最新版本号。
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/15429.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/15429.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定