1

pouchdb의 bulkSave() 함수를 사용하여 문서를 저장하려고합니다. 그러나 이러한 문서가 저장되면 동기화 게이트웨이 &을 사용하여 master 데이터베이스와 동기화되기 시작하므로 webapp가 느려지고 다른 탭으로 이동하려고 시도하면 해당 탭에 내용이 표시되지 않습니다. 사전에pouchdb를 사용하여 배치 문서를 만들면 웹 응용 프로그램이 느려집니다.

for (var i = 0; i <= instances; i++) { 
     if (i > 0) { 
     advTask.startDate = new Date(new Date(advTask.startDate).setHours(new Date(advTask.startDate).getHours() + offset)); 
     } 
     if (advTask.estimatedDurationUnit == 'Minutes') { 
     advTask = $Date.getAdvTaskEndTimeIfMinutes(advTask); 
     } else if (advTask.estimatedDurationUnit == 'Hours') { 
     advTask = $Date.getAdvTaskEndTimeIfHours(advTask); 
     } else if (advTask.estimatedDurationUnit == 'Days') { 
     advTask = $Date.getAdvTaskEndTimeIfDays(advTask); 
     } 
     if(new Date(advTask.endDate).getTime() >= new Date($scope.advTask.endDate).getTime()) { 
      // here save the task array using bulkSave() function 
      $db.bulkSave(tasks).then(function (res) { 
      $db.sync(); 
      }); 
      break; 
     } 
     advTask.startDate = $Date.toGMT(advTask.startDate); 
     advTask.endDate = $Date.toGMT(advTask.endDate); 
     var adv = angular.copy(advTask); 
     tasks.push(adv); // here pushing the documents to an array 
     offset = advTask.every; 
    } 

감사 :

다음은 문서가 생성되는 방법의 예입니다!

+0

크로스 게시판 : https://forums.couchbase.com/t/creating-batch-documents-using-pouchdb-slows-the-webapp/9267 –

답변

0

bulkSave은 핵심 PouchDB API가 아닙니다. 플러그인을 사용하고 있습니까?

또한 충고 한가지는 Couchbase Sync Gateway가 PouchDB를 100 % 지원하지 않으며 경우에 따라 문제가있는 것으로 알려져 있습니다.

웹 워커에서 PouchDB를 실행하면 UI 스레드가 오버로드되는 것을 방지 할 수 있으므로 탭이 표시되지 않는 문제를 해결할 수 있습니다.

실연 테스트 케이스가 있습니까?