PouchDB-첨부 파일 추가

이진 객체를 문서에 첨부하려면 putAttachment() PouchDB의 메소드.

통사론

다음은 putAttachment(). 이 방법에는 첨부 파일과 함께 문서 ID, 첨부 ID, MIME 유형을 전달해야합니다. 이 메서드는 선택적 콜백 함수도 허용합니다.

db.putAttachment( docId, attachmentId, attachment, type, [callback] );

Blob 또는 버퍼 개체를 사용하여 첨부 파일을 준비 할 수 있습니다. blob 브라우저로 작업하는 동안 사용되며 buffer 작업하는 동안 사용됩니다 Node.js, Node.js에서 프로그램을 시연하고 있으므로 버퍼 객체를 사용하여 문서를 준비합니다.

다음은 이름이 지정된 데이터베이스 내에서 첨부 파일이있는 문서를 만드는 예입니다. my_database PouchDB에서 putAttachment() 방법.

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

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

//Preparing the attachment 
var my_attachment = new Buffer(['Welcome to tutorialspoint'], {type: 'text/plain'});

//Adding attachment to a document 
db.putAttachment('001', 'att_1.txt', my_attachment, 'text/plain', function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment added successfully") 
   } 
});

위 코드를 이름이있는 파일에 저장하십시오. Add_Attachment.js. 명령 프롬프트를 열고 다음을 사용하여 JavaScript 파일을 실행합니다.node 아래 그림과 같이.

C:\PouchDB_Examples >node Add_Attachment.js

이렇게하면 첨부 파일을 추가하는 빈 문서가 생성됩니다. my_database PouchDB에 저장되고 다음 메시지가 표시됩니다.

Attachment added successfully

다음 코드를 사용하여 문서를 읽어 첨부 파일이 추가되었는지 확인할 수 있습니다.

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

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

//Reading the Document 
db.get('001',{attachments: true}, function(err, doc) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(doc); 
   } 
});

위의 코드를 다른 이름으로 저장하십시오. read_doc.js그것을 실행하십시오. 이 프로그램을 실행하면 문서의 다음 내용을 볼 수 있습니다.

{ 
   _attachments: { 
      att_1.txt: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '1-620fd5f41d3328fcbf9ce7504338a51d' 
}

기존 문서에 첨부 파일 추가

데이터베이스에 이름으로 된 문서가 있다고 가정합니다. my_database ID가 '인 PouchDB002'. 다음을 실행하여 내용을 얻을 수 있습니다.read_doc.js id 값을 다음으로 변경하여 002, 아래 그림과 같이.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '002',
   _rev: '1-05ca7b5f3f4762a9fb2d119cd34c8d40' 
}

이제이 문서에 첨부 파일을 추가 할 수 있습니다. _rev 값.

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

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

//Adding attachment to existing document 
var my_attachment = new Buffer (['Welcome to tutorialspoint'], {type: 'text/plain'});

rev = '1-05ca7b5f3f4762a9fb2d119cd34c8d40'; 
db.putAttachment('002', 'att_1.txt', rev, my_attachment, 'text/plain', function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log (res + "Attachment added successfully") 
   } 
});

위의 코드를 이름으로 파일에 저장하십시오. Add_Attachment_to_doc.js. 명령 프롬프트를 열고 다음을 사용하여 JavaScript 파일을 실행합니다.node 아래 그림과 같이.

C:\PouchDB_Examples >node Add_Attachment_to_doc.js

그러면 다음 메시지를 표시하는 첨부 파일이 지정된 문서에 추가됩니다.

Attachment added successfully

ID 값을 변경하면 read_doc.js ...에 002 실행하면 다음과 같은 출력이 표시됩니다.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      att_1: { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '002',
   _rev: '2-3bb4891b954699bce28346723cc7a709' 
}

원격 문서에 첨부 파일 추가

서버 (CouchDB)에 원격으로 저장된 데이터베이스에있는 문서에 첨부 파일을 추가 할 수도 있습니다.

이렇게하려면 데이터베이스 이름 대신 읽을 문서가 포함 된 CouchDB의 데이터베이스 경로를 전달해야합니다.

다음과 같은 데이터베이스가 있다고 가정합니다. my_databaseCouchDB 서버에서. 그런 다음 URL을 사용하여 CouchDB의 데이터베이스 목록을 확인하면http://127.0.0.1:5984/_utils/index.html 다음 스크린 샷이 표시됩니다.

그리고 이름이 지정된 데이터베이스를 선택하면 my_database, 아래 그림과 같이 내용을 볼 수 있습니다.

다음은 문서에 첨부 파일을 추가하는 예입니다. 001 라는 데이터베이스에 저장 my_database CouchDB 서버에 저장됩니다.

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

//Creating the database object
var db = new PouchDB('http://localhost:5984/my_database');

//Adding attachment to existing document
var my_attachment = new Buffer (['Welcome to tutorialspoint'], {type: 'text/plain'});

rev = '1-36c34fdcf29a652876219065f9681602';
db.putAttachment('001', 'att_1.txt',rev, my_attachment, 'text/plain', function(err, res) {
   if (err) {
      return console.log(err);
   } else {
      console.log (res+ "Attachment added successfully")
   }
});

위의 코드를 이름으로 파일에 저장하십시오. Remote_Add_Attachment.js. 명령 프롬프트를 열고 다음을 사용하여 JavaScript 파일을 실행합니다.node 아래 그림과 같이.

C:\PouchDB_Examples >node Remote_Add_Attachment.js

그러면 다음 메시지를 표시하는 첨부 파일이 지정된 문서에 추가됩니다.

Attachment added successfully

이제 문서를 확인하면 다음 스크린 샷과 같이 추가 된 첨부 파일을 볼 수 있습니다.