我正在尝试用PouchDB复制远程CouchDB数据库。下面是复制调用
try {
await PouchDB.replicate(sourceDB, targetDB);
console.log(`Replication complete!`);
} catch (err) {
console.error(`Replication failed with error ${err}`);
throw err;
}
数据库(sourceDB
)非常大(大约8.2万个文档和28k个已删除的文档,总共16.6MB)。
当调用上述方法时,复制总是在将大约10.4MB的数据复制到targetDB
后失败。
异常显示:
复制失败,错误{"name":" error "message":"invalid json响应体在http://my-db-url/_bulk_docs原因:意外的令牌& lt;
我使用的是PouchDB 7.2.2和CouchDB 3.1.0
错误消息Unexpected token < in JSON at position 0"
表明数据从服务器回来的一些时间在过程中不是JSON格式,但可能包含HTML(开始与<html>
标记)。
如果您的服务器在同步过程中不知何故超载并以html页面的形式发送回错误,则可能会发生这种情况。
尝试打开Developer Console的Network选项卡并查看请求,找到失败的请求。检查它的身体可以给你更多关于实际发生的事情的信息。