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'
}