混合 Cordova 应用程序上的 PouchDB 不工作

PouchDB on Hybrid Cordova App Not working

我是混合应用程序开发的新手,正在为我的应用程序使用 Cordova v5、Ionic 和 PouchDB。 Ionic serve 命令似乎一切正常,但 PouchDB 上的任何操作似乎都不适用于实际设备 运行 Android Lollipop。

我在创建 pouchDB 对象时明确指定 'WebSQL'。不知道是不是漏了什么步骤

这是代码

 var houselst = JSON.parse('<some json string>');

new PouchDB('SH_HouseVisitDB', { adapter: 'websql' }).destroy().then(function () {
            return new PouchDB('SH_HouseVisitDB');
        }).then(function (db) {

      var doc = {
                    "_id": "houselist",
                    "items": houselst
                };

                //insert the doc to pouchDB
                db.put(doc);
                db.get('houselist').then(function (doc) {
                    vm.houselist = _.sortBy(doc.items, "name");
                    db.close();
                });
}

任何帮助将不胜感激。

通常不建议尝试使用 new PouchDB(...) 作为对自身的承诺(例如 new PouchDB(...).then(...))。这是我们正在远离的旧样式,因为它会由于循环依赖而在某些 Promise 环境中导致问题。尝试做 var db = new PouchDB(...); 看看是否有帮助!

感谢支持

终于想通了,我们需要用 websql 前缀命名数据库。我从以下线程中找到了解决方案。

https://github.com/pouchdb/pouchdb/issues/1207