在本篇文章中,我們來學(xué)習(xí)如何編輯/修改 CouchDB 數(shù)據(jù)庫中的文檔。編輯/修改 CouchDB 數(shù)據(jù)庫中的文檔有兩種方法,下面分別來看看如何操作。
打開Fauxton url:http://127.0.0.1:5984/_utils
在創(chuàng)建文檔后,還可以更新/更改/編輯文檔。首先打數(shù)據(jù)庫概覽,里邊有文檔列表,如下表所示 -

點(diǎn)擊想要修改的文檔,例如點(diǎn)擊ID為10010這一條文檔信息,進(jìn)入文檔詳細(xì)頁面 -

雙擊要修改的數(shù)據(jù)項(xiàng),如上圖中,修改age字段的值,出現(xiàn)可編輯的輸入框后填寫修改的數(shù)據(jù)信息,然后點(diǎn)后面的綠色“勾”圖標(biāo)保存新填入的數(shù)據(jù),然后再點(diǎn)擊左上角的“Save Document”即可。
cURL方便用戶通過cURL工具,向服務(wù)器發(fā)送HTTP PUT方法請(qǐng)求來更新CouchDB中的文檔。
語法
curl -X PUT http://localhost:5984/database_name/document_id/ -d '{ "field" : "value", "_rev" : "revision id" }'
例子:
在數(shù)據(jù)庫yiibai_db中有一個(gè)id為10010的文檔。
首先,檢索要更新的文檔的修訂版本號(hào)??梢允褂靡韵旅钤谖臋n中找到文檔的_rev:
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:~$
從上面獲得的文檔的修訂版本號(hào)_rev來更改數(shù)據(jù)。 在這里,假設(shè)要將年齡從28歲改為22歲,名稱修改為:Maxsu,那么可以使用如下請(qǐng)求命令 -
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"}'
執(zhí)行結(jié)果如下所示 -
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:~$
可以看到上面返回的數(shù)據(jù)已經(jīng)是修改過的數(shù)據(jù)了。
在更新文檔時(shí)要記住的要點(diǎn):
_rev)用作JSON請(qǐng)求的一部分。