1

pouchdbのbulkSave()関数を使用してドキュメントを保存しようとしています。 しかし、これらのドキュメントが保存されると、同期ゲートウェイ&を使用してmasterデータベースとの同期が開始されるため、webappの速度が低下し、別のタブに移動しようとするとそのタブにコンテンツは表示されません。以下はpouchdbを使用してバッチドキュメントを作成すると、Webアプリケーションが遅くなる

文書が作成されている方法の例です:事前に

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%サポートしておらず、場合によっては問題があることが知られています。

WebワーカーでPouchDBを実行すると、UIスレッドが過負荷になるのを防ぐことができ、タブが表示されないという問題を解決できます。

デモを行うライブテストケースがありますか?

関連する問題