PouchDB - 刪除文件



您可以使用 **db.remove()** 方法從 PouchDB 中存在的資料庫中刪除文件。

語法

以下是 PouchDB 的 **db.remove()** 方法的語法。此方法需要傳入 **id** 和 **_rev** 來刪除現有文件,如下面的程式碼所示。此方法接受一個可選的回撥函式。我們也可以傳入完整的文件而不是 id 和 _rev。

db. get ( docId, docRev, [callback] )
or
db. get ( docId, docRev, [callback] )

示例

假設我們在 PouchDB 中有一個 id 為 **001** 的文件,其中包含一個人的詳細資訊。為了刪除此文件及其 **id**,我們還需要其 **_rev** 號。因此,請檢索文件的內容,如下面的程式碼所示。

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Reading the contents of a Document
db.get('001', function(err, doc) {
   if (err) {
      return console.log(err);
   } else {
      console.log(doc);
   }
});

執行上述程式碼將得到以下輸出。

{
   _id: '001',
   _rev: '3-552920d1ca372986fad7b996ce365f5d',
   name: 'Raju',
   age: 23,
   designation: 'Designer' 
}

現在,使用文件的 **_rev** 和 id,您可以使用 **remove()** 方法將其刪除,如下面的程式碼所示。

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Deleting an existing document
db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document deleted successfully");
   }
});

將上述程式碼儲存到名為 **Delete_Document.js** 的檔案中。開啟命令提示符並使用 **node** 執行 JavaScript 檔案,如下所示。

C:\PouchDB_Examples >node Delete_Document.js

這將刪除本地儲存的名為 **my_database** 的資料庫中給定文件的內容。將顯示以下訊息。

Document deleted successfully

從遠端資料庫刪除文件

您還可以刪除遠端伺服器 (CouchDB) 上儲存的資料庫中存在的文件。

為此,您需要傳入 CouchDB 中包含要讀取文件的資料庫的路徑,而不是資料庫名稱。

示例

假設 CouchDB 伺服器中有一個名為 **my_database** 的資料庫。然後,如果您使用 URL **http://127.0.0.1:5984/_utils/index.html** 驗證 CouchDB 中的資料庫列表,您將看到以下螢幕截圖。

Deleting a Document from a Remote Database

點選名為 **my_database** 的資料庫,您將看到以下螢幕截圖。在這裡,您可以看到資料庫包含一個 id 為 **001** 的文件。

Deleting Database

以下是如何刪除儲存在 CouchDB 伺服器中名為 **my_database** 的資料庫中 id 為“**001**”的文件內容的示例。

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('https://:5984/my_database');

//Deleting an existing document
db.remove('001', '3-552920d1ca372986fad7b996ce365f5d', function(err) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document deleted successfully");
   }
});

將上述程式碼儲存到名為 **Remote_Delete_Document.js** 的檔案中。開啟命令提示符並使用 **node** 執行 JavaScript 檔案,如下所示。

C:\PouchDB_Examples >node Remote_Delete_Document.js

這將刪除儲存在 CouchDB 中名為 **my_database** 的資料庫中給定的文件。將顯示以下訊息。

Document deleted successfully
廣告
© . All rights reserved.