[更新]我后来发现了一些例子:
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来检查数据库是否存在?
谢谢
据我所知,不可能持久保存到客户端数据库,因为浏览器访问本地文件系统很困难而且通常不安全。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