PouchDB - Обновить документ
Каждый раз, когда мы создаем документ в PouchDB, появляется новое поле _rev генерируется, и он известен как revision marker. В_revзначение - уникальное случайное число, каждый раз, когда мы вносим изменения в документ, значение _rev изменено.
Вы можете обновить существующий документ в PouchDB, используя (_rev). Для этого сначала извлеките_revзначение документа, который мы хотим обновить. Теперь поместите содержимое, которое нужно обновить, вместе с полученным_rev значение в новом документе и, наконец, вставьте этот документ в PouchDB, используя put() метод.
пример
Предположим, у нас есть документ в PouchDB с идентификатором 001в котором есть данные о человеке. Чтобы обновить этот документ, у нас должен быть номер его версии. Следовательно, для получения содержимого документа используется следующий код.
//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);
}
});
Выполнив приведенный выше код, вы получите следующий результат.
{
_id: '001',
_rev: '3-552920d1ca372986fad7b996ce365f5d',
name: 'Raju',
age: 23,
designation: 'Designer'
}
Теперь, используя _rev вы можете обновить значение ключа «age”На 26, как показано в следующем коде.
//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);
}
});
Сохраните приведенный выше код в файл с именем Update_Document.js. Откройте командную строку и выполните файл JavaScript, используяnode как показано ниже.
C:\Pouch_Examples>node Update_Document.js
Это обновляет содержимое данного документа, который существует в базе данных с именем my_databaseкоторый хранится локально. На консоли отображается следующее сообщение.
{
name: 'Raju',
age: 26,
designation: 'Designer',
_id: '001',
_rev: '2-61b523ccdc4e41a8435bdffbb057a7a5'
}
Обновление документа в удаленной базе данных
Вы также можете обновить существующий документ в базе данных, которая хранится удаленно на сервере (CouchDB).
Для этого вместо имени базы данных вам нужно передать путь к базе данных в CouchDB, которая содержит документ, который необходимо обновить.
пример
Предположим, есть база данных с именем my_databaseна сервере CouchDB. Затем, если вы проверите список баз данных в CouchDB, используя URL-адресhttp://127.0.0.1:5984/_utils/index.html вы получите следующий снимок экрана.
Щелкнув по базе данных с именем my_database, вы можете увидеть следующий снимок экрана. Здесь вы можете заметить, что эта база данных содержит документ с идентификатором001.
Ниже приведен пример обновления возраста документа с идентификатором «001», Который существует в базе данных с именем my_database который хранится на сервере 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);
}
});
Сохраните приведенный выше код в файл с именем Remote_Update_Document.js. Откройте командную строку и выполните файл JavaScript, используяnode как показано ниже.
C:\PouchDB_Examples >node Remote_Update_Document.js
Это обновляет содержимое данного документа, который существует в базе данных с именем my_databaseкоторый хранится в CouchDB. На консоли отображается следующее сообщение.
{
_id: '001',
_rev: '2-b9640bffbce582c94308905eed8bb545',
name: 'Raju',
age: 26,
designation: 'Designer'
}