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」中,有一個id10010的文件,假設現在要刪除這個文件,首先使用以下命令獲取這個文件的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」。現在使用以下命令刪除id10010的文件。

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:~$