PouchDB-첨부 파일 삭제

다음을 사용하여 PouchDB에서 첨부 파일을 삭제할 수 있습니다. removeAttachment() 방법.

통사론

다음은 removeAttachment()방법. 이 메서드에는 문서 ID, 첨부 파일 ID 및 _rev 값을 전달해야합니다. 이 메서드는 선택적 콜백 함수도 허용합니다.

db.removeAttachment ( docId, attachmentId, rev, [callback] );

PouchDB에 ID가있는 문서가 있다고 가정합니다. 001, 직원의 아이디, 이름, 나이, 명칭, 첨부 파일이 포함되어 있습니다.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _attachments: { 
      'att_1.txt': { 
         content_type: 'text/plain',
         digest: 'md5-k7iFrf4NoInN9jSQT9WfcQ==',
         data: 'AA==' 
      } 
   },
   _id: '001',
   _rev: '2-cdec6c9f45ddbee7d456945654742d43' 
}

다음은이 문서의 첨부 파일을 삭제하는 예입니다. 001 PouchDB에 저장, 사용 removeAttachment() 방법.

//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")
   }
});

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

C:\PouchDB_Examples >node Remove_Attachment.js

이렇게하면 문서의 첨부 파일이 제거되고 아래와 같이 콘솔에 메시지가 표시됩니다.

Attachment deleted successfully

삭제 후 다음 코드를 실행하여 문서의 내용을 확인할 수 있습니다.

//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);
   }
});

이 코드를 다른 이름으로 저장 read.js그것을 실행하십시오. 실행시 아래와 같이 첨부 파일을 삭제 한 후 문서의 내용을 가져옵니다.

{ 
   name: 'Raju',
   age: 23,
   designation: 'Designer',
   _id: '001',
   _rev: '3-da775487a6ed0495f2e49c543384f8e8' 
}

원격 문서에서 첨부 파일 제거

서버 (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');

db.removeAttachment('001', 'att_1.txt', '2-049f1c4ffa54576ec0947b65e34de423', 
   function(err, res) { 
   if (err) { 
      return console.log(err); 
   } else { 
      console.log(res+"Attachment Deleted successfully") 
   } 
});

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

C:\PouchDB_Examples >node Remote_Delete_Attachment.js

이렇게하면 기존 첨부 파일이 제거되고 다음 메시지가 표시됩니다.

Attachment Deleted successfully

문서를 다시 방문하면 다음 스크린 샷과 같이 첨부 파일이 삭제 된 것을 알 수 있습니다.