CouchDB pouchdb复制未完成,只是被挂起的文档卡住

9jyewag0  于 2022-12-09  发布在  CouchDB
关注(0)|答案(1)|浏览(184)

我尝试在我的Ionic 3应用程序中进行过滤复制,但是在阅读了一些文档后,它被挂起的文档卡住了,并且complete事件也没有被触发。当我在移动的上构建和运行应用程序时,就会发生这种情况。
使用ionic serve运行的应用程序工作正常。
应用程序:
带cordova-sqlite插件(2.0.3)的离子3 PouchDB(6.4.3)治疗床版本:2.1.2
设定

PouchDB.plugin(require('pouchdb-find').default);
      PouchDB.plugin(cordovaSqlitePlugin);
      this.db = new PouchDB(gstin, {
        adapter: 'cordova-sqlite', location: 'default'
      });

复制选项:

{
  filter: 'Generic/xxxxx',
  query_params: {
    id: xxx,
    deviceId: xxxx
  },
  batch_size: 10
}

上次更改控制台,

{
 ok: true,
 start_time: "2018-09-07T09:18:16.204Z",
 docs_read: 136,
 docs_written: 136,
 doc_write_failures: 0, …}
 doc_write_failures:0
 docs:(11) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
 docs_read:136
 docs_written:136
 errors:Array(0)
 length:0
  __proto__:Array(0)
 last_seq:"xxxxxx"
 ok:true
 pending:402
 start_time:"2018-09-07T09:18:16.204Z"
 __proto__:Object
juzqafwq

juzqafwq1#

在学习如何一起使用PouchDb/CouchDb的同时,对它们进行修补可能会使同步指针处于一种奇怪的状态。
我可以建议您尝试使用数据库的全新示例吗?
我发现有必要创建CURL脚本来完全重建我的测试数据库,然后再花费任何认真的努力来跟踪为什么有些东西不工作。
我相信,如果您要显示正在使用的筛选器和复制命令的完整代码,而不仅仅是选项,您可以在此处获得更多帮助。

更新:我还强烈建议您创建一个简单的CouchDb服务器(或一个免费的层Cloudant数据库),创建一个非常简单的带有默认服务的浏览器应用程序(而不是cordova-sqlite),并测试您对复制工作原理的假设。

相关问题