目前,我正在开发一个应用程序,使用Onsen UI+Cordova,并尝试使用LokiJS作为我的无服务器数据库。根据LokiJS的文件:
如果没有指定任何内容,Loki将尝试默认方法(节点中的fs、浏览器中的localStorage和cordova)。
这是否意味着我不能将数据库文件*.json写入文件系统(即。SDCard还是内部存储?
发布于 2015-08-07 10:10:48
LokiJS允许您持久化正在用作JSON文件的数据库,从函数的文档中可以看到
根据Loki构造函数中指定的持久性适配器保存db。如果没有指定任何内容,Loki将尝试默认方法(节点中的fs、浏览器中的localStorage和cordova)。
这意味着默认情况下,localStorage在cordova中使用,它将被持久化到文件系统。
然后可以使用Loki的函数加载特定的DB名称。
请注意,您的不需要显式地执行此操作,只需在Loki中创建一个新的DB即可:
var db = new loki('db_name.json', {
autosave: true,
autosaveInterval: 60 * 1000, //every 60 seconds
autoload: true
});如果您指定了autoload和autosave选项,则不需要自己处理任何事情,因此数据将自动使用cordova上的localStorage持久化。
另外,如果您想以不同的方式处理事情,即不使用localStorage,您可以使用创建自己的适配器,以便在文件系统上保存,甚至在服务器或云存储上保存。这要求您编写适配器--当然,您可以在Loki的gitHub 这里(这是一个jquery适配器示例)中看到一个示例
编辑:就像@Joe指出的那样,有一个现成的用于Loki的Cordova FS适配器,应该马上就开始工作,检查一下!
发布于 2015-08-07 10:00:34
您可以使用这个插件对文件系统进行读写访问。
https://stackoverflow.com/questions/31874869
复制相似问题