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.
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' }
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á.
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.
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…
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' }
🚫