Учебники

PouchDB — Удалить пакет

Вы можете сразу удалить массив документов в PouchDB, используя метод bulkDocs () . Для этого вам нужно создать массив документов, которые должны быть удалены, где каждый документ должен содержать _id и _rev . В дополнение к этому вы должны добавить еще одну пару ключ-значение _deleted: true .

Предположим, что база данных с именем my_database, которая хранится локально в PouchDB, содержит 3 документа, а именно doc1, doc2, doc3 со следующим содержимым.

doc1 = {_id: '001', name: 'Ram', age: 23, Designation: 'Programmer'}
doc2 = {_id: '002', name: 'Robert', age: 24, Designation: 'Programmer'}
doc3 = {_id: '003', name: 'Rahim', age: 25, Designation: 'Programmer'}

И скажем, мы должны удалить все три документа. Затем, прежде всего, вам нужно получить их значения _rev . Поэтому извлеките содержимое этих документов, используя следующий код.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Retrieving all the documents in PouchDB
db.allDocs({include_docs: true},function(err, docs) {
   if (err) {
      return console.log(err);
   } else {
      console.log(docs.rows);
   }
});

Сохраните приведенный выше код как bulk_fetch.js . Выполнение вышеуказанной программы дает вам значения _id и _rev документов в базе данных, как показано ниже.

[ 
   { 
      id: '001',
      key: '001',
      value: { rev: '1-1604b0c3ff69dc1e261265fd60808404' } 
   },
   { 
      id: '002',
      key: '002',
      value: { rev: '1-b5e49db7e984841bf12a13e3ee548125' } 
   },
   { 
      id: '003',
      key: '003',
      value: { rev: '1-a7b342786ecc707aa91f3b321a177b51' } 
   } 
]

Теперь вы можете удалить документы, используя соответствующие значения _id и _rev, как показано ниже.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('my_database');

//Preparing the document
docs = [{_id : '001', _rev: '2-77f3a9974dd578d12f3f2a33aae64c8d', _deleted : true },
      {_id : '002', _rev: '2-43966007568ce9567c96422195fcfa0d', _deleted : true }, 
      {_id : '003', _rev: '2-6c5349652527f4f39583ff14f23cd677',_deleted : true }]

//Deleting Documents
db.bulkDocs(docs, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log(response+"Documents deleted Successfully");
   }
});

Сохраните приведенный выше код в файле с именем Delete_All_Document.js . Откройте командную строку и выполните файл JavaScript, используя узел, как показано ниже.

C:\PouchDB_Examples >node Delete_All_Document.js

Это удаляет все документы, которые существуют в базе данных с именем my_database, которая хранится локально, отображая следующее сообщение.

Documents Deleted Successfully

Теперь, если вы запустите программу bulk_fetch.js , вы увидите пустую фигурную скобку на консоли, указывающую, что база данных пуста, как показано ниже.

[]

Удаление пакета из удаленной базы данных

Вы можете обновить все документы из базы данных, которая удаленно хранится на сервере (CouchDB).

Для этого вместо имени базы данных вам нужно передать путь к базе данных в CouchDB, которая содержит документ, который должен быть прочитан.

пример

Предположим, что на сервере CouchDB есть база данных с именем my_database . Затем, если вы проверите список баз данных в CouchDB, используя URL-адрес http://127.0.0.1:5984/_utils/index.html, вы получите следующий снимок экрана.

Удаление пакета из удаленной базы данных

Если мы выберем базу данных с именем my_database , вы увидите , что она содержит 3 документа, как показано на следующем снимке экрана.

Удаление партии

Ниже приведен пример удаления всех документов, которые существуют в базе данных с именем 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
docs = [{_id : '001', _rev: '4-6bc8d9c7a60fed2ed1667ec0740c1f39', _deleted : true },
      {_id : '002', _rev: '2-1aa24ce77d96bb9d2a0675cdf1e113e0', _deleted : true },
      {_id : '003', _rev: '2-fa113149ba618eda77f73072974a2bc1',_deleted : true }]

//Deleting Documents
db.bulkDocs(docs, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Documents deleted Successfully");
   }
});

Сохраните приведенный выше код в файле с именем Remote_delete_AllDocuments.js . Откройте командную строку и выполните файл JavaScript, используя узел, как показано ниже.

C:\PouchDB_Examples >node Remote_Delete_AllDocuments.js

Это удаляет содержимое всего данного документа, который существует в базе данных с именем my_database, которая хранится в CouchDB, и отображает следующее сообщение.