
- PouchDB 教程
- PouchDB - 首頁
- PouchDB - 概述
- PouchDB - 環境
- PouchDB - 建立資料庫
- PouchDB - 資料庫資訊
- PouchDB - 刪除資料庫
- PouchDB - 建立文件
- PouchDB - 讀取文件
- PouchDB - 更新文件
- PouchDB - 刪除文件
- PouchDB - 建立批處理
- PouchDB - 獲取批處理
- PouchDB - 更新批處理
- PouchDB - 刪除批處理
- PouchDB - 新增附件
- PouchDB - 檢索附件
- PouchDB - 刪除附件
- PouchDB - 複製
- PouchDB - 同步
- PouchDB - 雜項
- PouchDB 有用資源
- PouchDB - 快速指南
- PouchDB - 有用資源
- PouchDB - 討論
PouchDB - 更新文件
無論何時,我們在 PouchDB 中建立文件,都會生成一個新的欄位_rev,它被稱為修訂標記。_rev的值是一個唯一的隨機數,每次我們對文件進行更改時,_rev的值都會發生變化。
您可以使用(_rev)更新 PouchDB 中的現有文件。為此,首先檢索要更新的文件的_rev值。現在,將要更新的內容與檢索到的_rev值一起放入新文件中,最後使用put()方法將此文件插入 PouchDB。
示例
假設我們在 PouchDB 中有一個 id 為001的文件,其中包含一個人的詳細資訊。為了更新此文件,我們應該擁有其修訂版本號。因此,要檢索文件的內容,使用以下程式碼。
//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,您可以將鍵“age”的值更新為 26,如下面的程式碼所示。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('my_database'); //Preparing the document for update doc = { age: 26, _rev: '3-552920d1ca372986fad7b996ce365f5d', } //Inserting Document db.put(doc); //Reading the contents of a Document db.get('001', function(err, doc) { if (err) { return console.log(err); } else { console.log(doc); } });
將以上程式碼儲存在名為Update_Document.js的檔案中。開啟命令提示符並使用node執行 JavaScript 檔案,如下所示。
C:\Pouch_Examples>node Update_Document.js
這將更新本地儲存的名為my_database的資料庫中存在的給定文件的內容。控制檯會顯示以下訊息。
{ name: 'Raju', age: 26, designation: 'Designer', _id: '001', _rev: '2-61b523ccdc4e41a8435bdffbb057a7a5' }
更新遠端資料庫中的文件
您還可以更新伺服器(CouchDB)上遠端儲存的資料庫中的現有文件。
為此,您需要傳遞 CouchDB 中資料庫的路徑,而不是資料庫名稱,該資料庫包含要更新的文件。
示例
假設 CouchDB 伺服器中有一個名為my_database的資料庫。然後,如果您使用 URL http://127.0.0.1:5984/_utils/index.html驗證 CouchDB 中的資料庫列表,您將獲得以下螢幕截圖。

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

以下是如何更新存在於名為my_database的資料庫(儲存在 CouchDB 伺服器中)中且 id 為“001”的文件的年齡的示例。
//Requiring the package var PouchDB = require('PouchDB'); //Creating the database object var db = new PouchDB('https://:5984/my_database'); //Preparing the document for update doc = { age: 26, _rev: '3-552920d1ca372986fad7b996ce365f5d', } //Inserting Document db.put(doc); //Reading the contents of a Document db.get('001', function(err, doc) { if (err) { return console.log(err); } else { console.log(doc); } });
將以上程式碼儲存在名為Remote_Update_Document.js的檔案中。開啟命令提示符並使用node執行 JavaScript 檔案,如下所示。
C:\PouchDB_Examples >node Remote_Update_Document.js
這將更新儲存在 CouchDB 中的名為my_database的資料庫中存在的給定文件的內容。控制檯會顯示以下訊息。
{ _id: '001', _rev: '2-b9640bffbce582c94308905eed8bb545', name: 'Raju', age: 26, designation: 'Designer' }