PouchDB – Actualizar documento

Cada vez que creamos un documento en PouchDB aparece un nuevo campo _Rvdo se genera y se conoce como marcador de revisión… EN _Rvdovalor es un número aleatorio único, cada vez que hacemos cambios en el documento, el valor _Rvdo cambió.

Puede actualizar un documento existente en PouchDB usando (_Rvdo)… Para hacer esto, primero extraiga _Rvdo el valor del documento que queremos actualizar. Ahora coloque el contenido que desea actualizar junto con el recibido _Rvdo valor en un nuevo documento y finalmente inserte ese documento en PouchDB usando poner() método.

Ejemplo

Supongamos que tenemos un documento en PouchDB con el ID 001 en el que hay datos sobre una persona. Para actualizar este documento, debemos tener su número de versión. Por lo tanto, se utiliza el siguiente código para obtener el contenido del documento.

//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);
   }
});

Al ejecutar el código anterior, obtendrá el siguiente resultado.

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

Ahora usando _Rvdo puede actualizar el valor de la clave «edad”A los 26, como se muestra en el siguiente código.

//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);
   }
});

Guarde el código anterior en un archivo llamado Update_Document.js… Abra una línea de comando y ejecute el archivo JavaScript usando nudo Como se muestra abajo.

C:Pouch_Examples>node Update_Document.js

Esto actualiza el contenido del documento dado, que existe en la base de datos llamada my_database que se almacena localmente. La consola muestra el siguiente mensaje.

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

Actualizar un documento en una base de datos remota

También puede actualizar un documento existente en una base de datos que se almacena de forma remota en el servidor (CouchDB).

Para hacer esto, en lugar del nombre de la base de datos, debe pasar la ruta a la base de datos en CouchDB que contiene el documento que se actualizará.

Ejemplo

Digamos que hay una base de datos llamada my_database en el servidor CouchDB. Luego, si verifica la lista de bases de datos en CouchDB usando la url http://127.0.0.1:5984/_utils/index.html obtendrá la siguiente captura de pantalla.

Actualizar un documento en una base de datos remota

Al hacer clic en la base de datos denominada my_database, puedes ver la siguiente captura de pantalla. Aquí puede notar que esta base de datos contiene un documento con identificación 001

Actualización de la base de datos

A continuación se muestra un ejemplo de cómo actualizar la antigüedad de un documento con el ID «001«Eso existe en la base de datos con el nombre my_database que se almacena en el servidor 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);
   }
});   

Guarde el código anterior en un archivo llamado Remote_Update_Document.js… Abra una línea de comando y ejecute el archivo JavaScript usando nudo Como se muestra abajo.

C:PouchDB_Examples >node Remote_Update_Document.js

Esto actualiza el contenido del documento dado, que existe en la base de datos llamada my_database que se almacena en CouchDB. La consola muestra el siguiente mensaje.

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

🚫