CouchDB刪除文檔
在本篇文章中,我們來學習如何刪除 CouchDB 數據庫中的文檔。刪除 CouchDB 數據庫中的文檔有兩種方法,下面分別來看看如何操作。
CouchDB使用Fauxton刪除文檔
打開Fauxton url:
http://127.0.0.1:5984/_utils/
首先選擇包含所有文檔的數據庫。這裏是數據庫「yiibai_db
」中的所有三個文件:
選擇要刪除的文檔,假設要刪除ID爲001
的文檔,那麼就點擊ID爲001
的這個文檔進入詳細信息,如下所示 -
在ID爲001
的這個文檔進入詳細信息頁面中,點擊「Delete Document…」來刪除當前這條信息,如下所示 -
點擊「Delete」確認刪除就好。如下圖中所示,ID爲001
的這個文檔已經被刪除了 -
2. CouchDB使用cURL工具刪除文檔
在CouchDB中,通過使用cURL實用程序向服務器發送HTTP DELETE方法請求來刪除文檔。
語法
curl -H 'Content-Type: application/json' -X DELETE http://127.0.0.1:5984/database_name/database_id?_rev
注意:
-X
用於指定與HTTP服務器通信時使用的HTTP的自定義請求方法。 要刪除文檔,可通過/database_name/database_id/
這個url傳遞最近的修訂版本號。「?
」 用於指定數據結構的屬性。
例子:
在數據庫「yiibai_db
」中,有一個id
爲10010
的文檔,假設現在要刪除這個文檔,首先使用以下命令獲取這個文檔的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
」。現在使用以下命令刪除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對上面的刪除命令的響應包含3
個字段:
- 「ok」:它表示操作成功。
- 「id」:它存儲文檔的
id
。 - 「rev」:表示修訂ID。 每次修改(更新,修改或刪除)文檔時,CouchDB將生成
_rev
值。 如果要更新或刪除文檔,CouchDB需要您包含要更改的修訂版本的_rev
字段。 當CouchDB接受更改時,它將生成一個新的修訂版本號。
驗證
可以使用以下命令驗證文檔是否被刪除:
yiibai@ubuntu:~$ curl -X GET http://127.0.0.1:5984/yiibai_db/10010
{"error":"not_found","reason":"deleted"}
yiibai@ubuntu:~$