PouchDB - Document de mise à jour

Chaque fois que nous créons un document dans PouchDB, un nouveau champ _rev est généré, et il est connu comme revision marker. le_revLa valeur de est un nombre aléatoire unique, chaque fois que nous apportons des modifications au document, la valeur de _rev est changé.

Vous pouvez mettre à jour un document existant dans PouchDB à l'aide du (_rev). Pour ce faire, récupérez tout d'abord le_revvaleur du document que nous voulons mettre à jour. Maintenant, placez le contenu à mettre à jour avec le fichier récupéré_rev valeur dans un nouveau document, et enfin insérer ce document dans PouchDB à l'aide du put() méthode.

Exemple

Supposons que nous ayons un document dans PouchDB avec un identifiant 001qui a des détails sur une personne. Afin de mettre à jour ce document, nous devrions avoir son numéro de rév. Par conséquent, pour récupérer le contenu du document, le code suivant est utilisé.

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

Lors de l'exécution du code ci-dessus, vous recevrez la sortie suivante.

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

Maintenant, en utilisant le _rev vous pouvez mettre à jour la valeur de la clé "age”À 26, comme indiqué dans le code suivant.

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

Enregistrez le code ci-dessus dans un fichier avec le nom Update_Document.js. Ouvrez l'invite de commande et exécutez le fichier JavaScript en utilisantnode comme indiqué ci-dessous.

C:\Pouch_Examples>node Update_Document.js

Cela met à jour le contenu du document donné qui existe dans la base de données nommée my_databasequi est stocké localement. Le message suivant s'affiche sur la console.

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

Mise à jour d'un document dans une base de données distante

Vous pouvez également mettre à jour un document existant dans une base de données stockée à distance sur le serveur (CouchDB).

Pour ce faire, au lieu d'un nom de base de données, vous devez transmettre le chemin d'accès à la base de données dans CouchDB, qui contient le document à mettre à jour.

Exemple

Supposons qu'il existe une base de données nommée my_databasedans le serveur CouchDB. Ensuite, si vous vérifiez la liste des bases de données dans CouchDB à l'aide de l'URLhttp://127.0.0.1:5984/_utils/index.html vous obtiendrez la capture d'écran suivante.

En cliquant sur la base de données nommée my_database, vous pouvez voir la capture d'écran suivante. Ici, vous pouvez observer que cette base de données contient un document avec id001.

Voici un exemple de mise à jour de l'âge du document dont l'identifiant est "001»Qui existe dans une base de données nommée my_database qui est stocké sur le serveur 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);
   }
});

Enregistrez le code ci-dessus dans un fichier avec le nom Remote_Update_Document.js. Ouvrez l'invite de commande et exécutez le fichier JavaScript en utilisantnode comme indiqué ci-dessous.

C:\PouchDB_Examples >node Remote_Update_Document.js

Cela met à jour le contenu du document donné qui existe dans la base de données nommée my_databasequi est stocké dans CouchDB. Le message suivant s'affiche sur la console.

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