PouchDB - Dokument aktualisieren
Wann immer wir ein Dokument in PouchDB erstellen, einem neuen Feld _rev wird generiert und ist bekannt als revision marker. Das_revDer Wert von ist eine eindeutige Zufallszahl, bei jeder Änderung des Dokuments der Wert von _rev ist geändert.
Sie können ein vorhandenes Dokument in PouchDB mithilfe von aktualisieren (_rev). Rufen Sie dazu zunächst die ab_revWert des Dokuments, das wir aktualisieren möchten. Platzieren Sie nun den Inhalt, der aktualisiert werden soll, zusammen mit dem abgerufenen_rev Wert in ein neues Dokument einfügen und dieses Dokument schließlich mit dem in PouchDB einfügen put() Methode.
Beispiel
Angenommen, wir haben ein Dokument in PouchDB mit der ID 001welches Details einer Person hat. Um dieses Dokument zu aktualisieren, sollten wir seine Versionsnummer haben. Daher wird zum Abrufen des Inhalts des Dokuments der folgende Code verwendet.
//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);
}
});
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe.
{
_id: '001',
_rev: '3-552920d1ca372986fad7b996ce365f5d',
name: 'Raju',
age: 23,
designation: 'Designer'
}
Verwenden Sie jetzt die _rev Sie können den Wert des Schlüssels aktualisieren. “age”Bis 26, wie im folgenden Code gezeigt.
//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);
}
});
Speichern Sie den obigen Code in einer Datei mit dem Namen Update_Document.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit ausnode Wie nachfolgend dargestellt.
C:\Pouch_Examples>node Update_Document.js
Dadurch wird der Inhalt des angegebenen Dokuments aktualisiert, das in der genannten Datenbank vorhanden ist my_databasewelches lokal gespeichert ist. Die folgende Meldung wird auf der Konsole angezeigt.
{
name: 'Raju',
age: 26,
designation: 'Designer',
_id: '001',
_rev: '2-61b523ccdc4e41a8435bdffbb057a7a5'
}
Aktualisieren eines Dokuments in einer entfernten Datenbank
Sie können auch ein vorhandenes Dokument in einer Datenbank aktualisieren, die remote auf dem Server (CouchDB) gespeichert ist.
Dazu müssen Sie anstelle eines Datenbanknamens den Pfad zur Datenbank in CouchDB übergeben, die das zu aktualisierende Dokument enthält.
Beispiel
Angenommen, es gibt eine Datenbank mit dem Namen my_databaseauf dem CouchDB-Server. Wenn Sie dann die Liste der Datenbanken in CouchDB mithilfe der URL überprüfenhttp://127.0.0.1:5984/_utils/index.html Sie erhalten den folgenden Screenshot.
Durch Klicken auf die genannte Datenbank my_databasekönnen Sie den folgenden Screenshot sehen. Hier können Sie beobachten, dass diese Datenbank ein Dokument mit der ID enthält001.
Im Folgenden finden Sie ein Beispiel für die Aktualisierung des Alters des Dokuments mit der ID „001”, Das in einer Datenbank mit dem Namen existiert my_database welches auf dem CouchDB-Server gespeichert ist.
//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);
}
});
Speichern Sie den obigen Code in einer Datei mit dem Namen Remote_Update_Document.js. Öffnen Sie die Eingabeaufforderung und führen Sie die JavaScript-Datei mit ausnode Wie nachfolgend dargestellt.
C:\PouchDB_Examples >node Remote_Update_Document.js
Dadurch wird der Inhalt des angegebenen Dokuments aktualisiert, das in der genannten Datenbank vorhanden ist my_databasewelches in CouchDB gespeichert ist. Die folgende Meldung wird auf der Konsole angezeigt.
{
_id: '001',
_rev: '2-b9640bffbce582c94308905eed8bb545',
name: 'Raju',
age: 26,
designation: 'Designer'
}