PouchDB-ドキュメントの更新

いつでも、新しいフィールドであるPouchDBにドキュメントを作成します _rev が生成され、それはとして知られています revision marker。ザ・_revの値は一意の乱数であり、ドキュメントに変更を加えるたびに、 _rev 変更されます。

PouchDBの既存のドキュメントは、 (_rev)。そのためには、まず最初に_rev更新するドキュメントの値。次に、取得したコンテンツとともに更新するコンテンツを配置します。_rev 新しいドキュメントに値を入力し、最後にこのドキュメントをPouchDBに挿入します。 put() 方法。

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。コマンドプロンプトを開き、を使用してJavaScriptファイルを実行しますnode 以下に示すように。

C:\Pouch_Examples>node Update_Document.js

これにより、という名前のデータベースに存在する特定のドキュメントのコンテンツが更新されます。 my_databaseこれはローカルに保存されます。コンソールに次のメッセージが表示されます。

{ 
   name: 'Raju',
   age: 26,
   designation: 'Designer',
   _id: '001',
   _rev: '2-61b523ccdc4e41a8435bdffbb057a7a5' 
}

リモートデータベース内のドキュメントの更新

サーバー(CouchDB)にリモートで保存されているデータベース内の既存のドキュメントを更新することもできます。

これを行うには、データベース名の代わりに、更新されるドキュメントを含むCouchDB内のデータベースへのパスを渡す必要があります。

名前の付いたデータベースがあるとします my_databaseCouchDBサーバーで。次に、URLを使用してCouchDB内のデータベースのリストを確認するとhttp://127.0.0.1:5984/_utils/index.html 次のスクリーンショットが表示されます。

名前の付いたデータベースをクリックする my_database、次のスクリーンショットを見ることができます。ここで、このデータベースにIDを持つドキュメントが含まれていることがわかります。001

以下は、IDが「」であるドキュメントの経過時間を更新する例です。001」という名前のデータベースに存在します my_database これはCouchDBサーバーに保存されます。

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

//Creating the database object
var db = new PouchDB('http://localhost: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。コマンドプロンプトを開き、を使用してJavaScriptファイルを実行しますnode 以下に示すように。

C:\PouchDB_Examples >node Remote_Update_Document.js

これにより、という名前のデータベースに存在する特定のドキュメントのコンテンツが更新されます。 my_databaseこれはCouchDBに保存されます。コンソールに次のメッセージが表示されます。

{
   _id: '001',
   _rev: '2-b9640bffbce582c94308905eed8bb545',
   name: 'Raju',
   age: 26,
   designation: 'Designer' 
}