PouchDB - Récupération de la pièce jointe

Vous pouvez récupérer une pièce jointe de PouchDB à l'aide du getAttachment()méthode. Cette méthode retourne toujours des objets blob ou buffer.

Syntaxe

Voici la syntaxe du getAttachment(). Pour cette méthode, nous devons transmettre l'identifiant du document et l'identifiant de la pièce jointe. Cette méthode accepte également une fonction de rappel facultative.

db.getAttachment( docId, attachmentId, [callback] );

Exemple

Voici un exemple de récupération d'une pièce jointe d'un document stocké dans PouchDB, en utilisant getAttachment()méthode. En utilisant ce code, nous essayons de récupérer une pièce jointeatt_1.txt du document 001.

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

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

//Retrieving an attachment from a document
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) {
   if (err) {
      return console.log(err);
   } else {
      console.log(blob_buffer);
   }
});

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

C:\PouchDB_Examples >node Retrieve_Attachment.js

Cela récupère la pièce jointe du document et s'affiche sur la console comme indiqué ci-dessous.

<Buffer 00>

Récupération d'une pièce jointe à partir d'un document distant

Vous pouvez également récupérer une pièce jointe d'un document existant dans la base de données qui est 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 à lire.

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.

Si vous sélectionnez la base de données nommée my_database, vous pouvez afficher son contenu comme indiqué ci-dessous.

Supposons qu'il y ait une pièce jointe dans ce document comme indiqué ci-dessous.

Voici un exemple de récupération d'une pièce jointe du document 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');

//Retrieving an attachment from a document 
db.getAttachment('001', 'att_1.txt', function(err, blob_buffer) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(blob_buffer); 
   } 
});

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

C:\PouchDB_Examples >node Remote_Retrieve_Attachment.js

Cela récupère la pièce jointe au document et l'affiche sur la console comme indiqué ci-dessous.

<Buffer 00>