Couchdb 数据库遇到未知错误

Couchdb 数据库遇到未知错误,couchdb,pouchdb,Couchdb,Pouchdb,我从couchDB数据库复制数据时收到“数据库遇到未知错误”消息。它开始复制,下载一些文档,然后在复制一些文档后失败。我无法确切了解为什么会发生这种情况 CustomPockError{状态:500,名称:“未知错误”,消息: “数据库遇到未知错误”,错误:true,结果:Object} 原因可能有很多: CORS问题,由于服务器端未启用这些问题: 如果要下载的文档太大,则可能存在超时问题:在这种情况下,您可以在数据库复制期间在couchDB配置和客户端上设置超时() 许多其他人:) 但是,我的

我从couchDB数据库复制数据时收到“数据库遇到未知错误”消息。它开始复制,下载一些文档,然后在复制一些文档后失败。我无法确切了解为什么会发生这种情况

CustomPockError{状态:500,名称:“未知错误”,消息: “数据库遇到未知错误”,错误:true,结果:Object}


原因可能有很多:

  • CORS问题,由于服务器端未启用这些问题:
  • 如果要下载的文档太大,则可能存在超时问题:在这种情况下,您可以在数据库复制期间在couchDB配置和客户端上设置超时()
  • 许多其他人:)
  • 但是,我的最终解决方案是在replication()中使用重试选项,在失败时强制重试复制:

        PouchDB.replicate(localDB, baseRemoteDB, 
            {
                live: true,
                retry: true,
                timeout: false
            }
        )
    

    因此,复制会每两个文档暂停一次(而不是因未知错误而停止),并在几分钟后从第一个新文档开始恢复。重试时间也可以通过退避功能进行自定义(请参阅上一个文档)

    CouchDB服务器返回的实际错误是什么?您可以在浏览器开发工具的客户端(通过查看该请求的HTTP响应体)或CouchDB日志的服务器端看到这一点。甚至在日志中都没有。您是从浏览器还是从node.js使用PockDB?如果在浏览器中,您应该能够在开发人员工具中看到它发出的请求。另外,您是否可以向复制对象添加一个
    .on('error',function(e){console.error(e,e.result);})
    侦听器,以获取有关错误的更多信息?另一个可能有帮助的方法是在问题中添加有关数据库的更多详细信息:文档是否很多?它是否有一些非常大的文档/附件?是否通过特别不可靠的连接访问?