PouchDB - Eliminazione di un allegato
È possibile eliminare un allegato da PouchDB utilizzando il file removeAttachment() metodo.
Sintassi
Di seguito è riportata la sintassi di removeAttachment()metodo. A questo metodo, dobbiamo passare l'ID del documento, l'ID dell'allegato e il valore _rev. Questo metodo accetta anche una funzione di callback opzionale.
db.removeAttachment ( docId, attachmentId, rev, [callback] );
Esempio
Supponiamo che ci sia un documento in PouchDB con id 001, che contiene ID, nome, età, designazione di un dipendente insieme a un allegato come mostrato di seguito.
{
name: 'Raju',
age: 23,
designation: 'Designer',
_attachments: {
'att_1.txt': {
content_type: 'text/plain',
digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
data: 'AA=='
}
},
_id: '001',
_rev: '2-cdec6c9f45ddbee7d456945654742d43'
}
Di seguito è riportato un esempio di eliminazione dell'allegato di questo documento 001 archiviato in PouchDB, utilizzando removeAttachment() metodo.
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my');
db.removeAttachment('001', 'att_1.txt', '2-cdec6c9f45ddbee7d456945654742d43',
function(err, res) {
if (err) {
return console.log(err);
} else {
console.log(res+"Attachment Deleted successfully")
}
});
Salva il codice sopra in un file con il nome Remove_Attachment.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.
C:\PouchDB_Examples >node Remove_Attachment.js
Ciò rimuove l'allegato del documento e visualizza un messaggio sulla console come mostrato di seguito.
Attachment deleted successfully
Dopo l'eliminazione, è possibile verificare il contenuto del documento eseguendo il codice seguente.
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('my_d');
//Reading the Document
db.get('001',{attachments: true}, function(err, doc) {
if (err) {
return console.log(err);
} else {
console.log(doc);
}
});
Salva questo codice come read.jsed eseguirlo. All'esecuzione, otterrai il contenuto del documento dopo aver eliminato l'allegato, come mostrato di seguito.
{
name: 'Raju',
age: 23,
designation: 'Designer',
_id: '001',
_rev: '3-da775487a6ed0495f2e49c543384f8e8'
}
Rimozione di un allegato da un documento remoto
È possibile eliminare un allegato di un documento esistente nel database archiviato in remoto sul server (CouchDB).
Per fare ciò, invece del nome di un database, è necessario passare il percorso al database in CouchDB, che contiene il documento da leggere.
Esempio
Supponiamo che ci sia un database denominato my_databasenel server CouchDB. Quindi, se verifichi l'elenco dei database in CouchDB utilizzando l'URLhttp://127.0.0.1:5984/_utils/index.html otterrai il seguente screenshot.
E se selezioni il database denominato my_database, puoi visualizzarne il contenuto come mostrato di seguito.
Supponiamo che ci sia un allegato in questo documento come mostrato di seguito.
Di seguito è riportato un esempio di eliminazione del suddetto allegato del documento 001 che esiste in un database denominato my_database che è memorizzato nel server CouchDB.
//Requiring the package
var PouchDB = require('PouchDB');
//Creating the database object
var db = new PouchDB('http://localhost:5984/my_database');
db.removeAttachment('001', 'att_1.txt', '2-049f1c4ffa54576ec0947b65e34de423',
function(err, res) {
if (err) {
return console.log(err);
} else {
console.log(res+"Attachment Deleted successfully")
}
});
Salva il codice sopra in un file con il nome Remote_Delete_Attachment.js. Apri il prompt dei comandi ed esegui il file JavaScript utilizzandonode come mostrato di seguito.
C:\PouchDB_Examples >node Remote_Delete_Attachment.js
Ciò rimuove l'allegato esistente e visualizza il seguente messaggio.
Attachment Deleted successfully
Se visiti nuovamente il documento, puoi notare che l'allegato è stato eliminato come mostrato nella schermata seguente.