首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >离子PouchDb Sqlite插件问题

离子PouchDb Sqlite插件问题
EN

Stack Overflow用户
提问于 2016-01-27 20:01:27
回答 1查看 2.2K关注 0票数 3

我们正在认真地探索Ionic,PouchDb和CouchDb作为解决我们的需求之一的解决方案,我们需要构建一个移动应用程序,它可以提供离线同步功能,同时也是与平台无关的。

我们的另一个主要要求是,离线模式下的数据必须是持久性的,并且可以增长超过500 MB。由于PouchDb将使用IndexedDB / WebSQL适配器等在离线模式下存储数据,因此在移动和web平台上有一定的大小限制,而且数据在本质上也不是持久性。

然后,我在pouchdb站点本身看到了这篇文章:

http://pouchdb.com/adapters.html

在这里,您可以为Cordova使用SQLite插件,并且可以编写如下内容:

强制PouchDb使用SQLite插件。

代码语言:javascript
运行
复制
var db = new PouchDB('myDB', {adapter: 'websql'});

但是,当我使用下面的代码来测试WebSql适配器是否在使用SQLite插件时,无论是在Android ()还是在web平台上,我都会测试这些代码。

代码语言:javascript
运行
复制
db.info().then(console.log.bind(console));

sqlite_plugin总是返回false,而且它也没有创建任何.db文件。尽管PouchDb和CouchDb同步运行良好。

代码语言:javascript
运行
复制
Object {doc_count: 5, update_seq: 42, sqlite_plugin: false, websql_encoding: "UTF-8", db_name: "birthdays"…}
1.  adapter: "websql"
2.  auto_compaction: false
3.  db_name: "testDb"
4.  doc_count: 5
5.  sqlite_plugin: false
6.  update_seq: 42
7.  websql_encoding: "UTF-8"
8.  __proto__: Object
And also it mentioned

SQLite插件目前没有通过PouchDB测试套件。它也比直接IndexedDB/WebSQL慢。我们建议避免使用SQLite插件,除非您在iOS中达到了50 to的存储限制,或者需要对数据库文件进行本机访问或预加载访问。

我使用了以下命令来安装SQLite插件:

代码语言:javascript
运行
复制
cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git

以下是离子版本信息:单击此处可查看我当前使用的Ionic版本信息。

PouchDB版本: 5.2.0

如果有人能帮我解决这个问题,我将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-01-27 20:49:26

有一个使用PouchDB和SQLite插件的Cordova应用程序的演示。大多数情况下,您只需确保SQLite插件<script>在PouchDB <script>之前加载即可。

尽管如此,如果您的应用程序数据是严重的500 GB(半GB!),我建议不要使用PouchDB。特别是如果您不使用同步,那么PouchDB在修订结构上有太多的开销,并且运行缓慢。

直接使用SQLite插件可能更好。希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35046932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档