LokiJS与cordova

Jer*_*Fox 4 javascript cordova lokijs

我目前正在开发一个应用程序,使用Onsen UI + Cordova并尝试使用LokiJS作为我的无服务器数据库.根据LokiJS的文件:

如果没有指定任何内容,Loki会尝试默认方法(Node中的fs,浏览器中的localStorage和cordova).

这是否意味着我无法将数据库文件*.json写入文件系统即.SDCard或内部存储在哪里?

Sos*_*doc 6

LokiJS允许您将您正在使用的数据库保存为JSON文件,您可以从该save函数的文档中看到:

根据您在Loki构造函数中指定的持久性适配器保存db.如果没有指定任何内容,Loki会尝试默认方法(Node中的fs,浏览器中的localStorage和cordova).

这意味着默认情况下localStorage在cordova中使用,它已经被保存到文件系统中.

然后,您可以使用Loki load()函数加载特定的DB名称.

请注意,您不需要明确地执行此操作,您可以通过执行以下操作在Loki中创建新数据库:

var db = new loki('db_name.json', {
    autosave: true,
    autosaveInterval: 60 * 1000, //every 60 seconds
    autoload: true
});
Run Code Online (Sandbox Code Playgroud)

如果您指定autoloadautosave选项,您不需要自己处理任何事情,因此数据将使用cordova上的localStorage自动保留.

此外,如果您想以不同的方式执行操作,即不使用localStorage,您可以创建自己的适配器以保存在文件系统上,甚至可以保存在服务器或云存储上.这需要你编写一个Adapter当然,你可以在Loki的gitHub中看到一个例子(这是一个jquery AJAX适配器样本)

编辑:正如@Joe Minichino指出的那样,有一个现成的用于Loki的Cordova FS适配器,应该开箱即用,检查出来!