在本篇文章中,我們來學(xué)習(xí)如何刪除 CouchDB 數(shù)據(jù)庫中的文檔。刪除 CouchDB 數(shù)據(jù)庫中的文檔有兩種方法,下面分別來看看如何操作。
打開Fauxton url:
http://127.0.0.1:5984/_utils/
首先選擇包含所有文檔的數(shù)據(jù)庫。這里是數(shù)據(jù)庫“yiibai_db”中的所有三個(gè)文件:

選擇要?jiǎng)h除的文檔,假設(shè)要?jiǎng)h除ID為001的文檔,那么就點(diǎn)擊ID為001的這個(gè)文檔進(jìn)入詳細(xì)信息,如下所示 -

在ID為001的這個(gè)文檔進(jìn)入詳細(xì)信息頁面中,點(diǎn)擊“Delete Document…”來刪除當(dāng)前這條信息,如下所示 -

點(diǎn)擊“Delete”確認(rèn)刪除就好。如下圖中所示,ID為001的這個(gè)文檔已經(jīng)被刪除了 -

在CouchDB中,通過使用cURL實(shí)用程序向服務(wù)器發(fā)送HTTP DELETE方法請(qǐng)求來刪除文檔。
語法
curl -H 'Content-Type: application/json' -X DELETE http://127.0.0.1:5984/database_name/database_id?_rev
注意:
-X用于指定與HTTP服務(wù)器通信時(shí)使用的HTTP的自定義請(qǐng)求方法。 要?jiǎng)h除文檔,可通過/database_name/database_id/這個(gè)url傳遞最近的修訂版本號(hào)?!?code>?” 用于指定數(shù)據(jù)結(jié)構(gòu)的屬性。
例子:
在數(shù)據(jù)庫“yiibai_db”中,有一個(gè)id為10010的文檔,假設(shè)現(xiàn)在要?jiǎng)h除這個(gè)文檔,首先使用以下命令獲取這個(gè)文檔的rev_id值:
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:~$
這里_rev是“3-592bfcd696098263c19dfe761bf92929”。現(xiàn)在使用以下命令刪除id為10010的文檔。
yiibai@ubuntu:~$ curl -H 'Content-Type: application/json' -X DELETE http://127.0.0.1:5984/yiibai_db/10010?rev=3-592bfcd696098263c19dfe761bf92929
{"ok":true,"id":"10010","rev":"4-a21004c06af1cf39634e552547b79e81"}
yiibai@ubuntu:~$ curl -X GET http://127.0.0.1:5984/yiibai_db/10010
{"error":"not_found","reason":"deleted"}
yiibai@ubuntu:~$
CouchDB對(duì)上面的刪除命令的響應(yīng)包含3個(gè)字段:
id。_rev值。 如果要更新或刪除文檔,CouchDB需要您包含要更改的修訂版本的_rev字段。 當(dāng)CouchDB接受更改時(shí),它將生成一個(gè)新的修訂版本號(hào)。驗(yàn)證
可以使用以下命令驗(yàn)證文檔是否被刪除:
yiibai@ubuntu:~$ curl -X GET http://127.0.0.1:5984/yiibai_db/10010
{"error":"not_found","reason":"deleted"}
yiibai@ubuntu:~$