如何从持久性重新加载Loki数据库和集合

Kua*_*uan 6 lokijs

[更新]我后来发现了一些例子:

        this.db = new Loki("viewsaving", {
            autosave: true,
            autosaveInterval: 5000,
            autoload: true,
            autoloadCallback: function(){
                db_ready = true;
                if(db.getCollection("namedviews") == null ){
                    this.namedviews = db.addCollection("namedviews");
                }
                if(db.getCollection("timedviews") == null ){
                    this.timedviews = db.addCollection("timedviews");
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

它基本上适用于我.所以我只是使用它,不确定这是否正确,请指教.


所有:

我对Lokijs很新,我想知道如何重新加载已经存在的数据库和集合?

假设我构建了一个数据库和集合,然后我坚持它(比如单击一个按钮来触发持久化过程):

var db = new Loki("mydb");
var users = db.addCollection('users');
// we bind this to a button click event
function saveUser(){
    users.insert({
      name: 'joe'
    });
    users.insert({
      name: 'john'
    });
    users.insert({
      name: 'jack'
    });
    db.saveDatabase();
}
Run Code Online (Sandbox Code Playgroud)

然后,当我刷新此页面时,如何从持久性加载"mydb"和"users"而不是创建新的(因为它将var db = new Loki("mydb");再次通过),是否有API来检查数据库是否存在?

谢谢

MJ_*_*les 0

据我所知,不可能持久保存到客户端数据库,因为浏览器访问本地文件系统很困难而且通常不安全。Lokijs 支持浏览器本地存储中的持久性。Loki使用适配器来实现对浏览器本地存储的持久化,该适配器默认为“localStorage适配器”。

var db = new Loki("test.db", {
  autoload: true,
  autoloadCallback : databaseInitialize,
  autosave: true, 
  autosaveInterval: 4000,
 //adapter: 'default already set'
});
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅https://rawgit.com/techfort/LokiJS/master/jsdoc/tutorial-Persistence%20Adapters.html