所有
我对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();
}
然后,当我刷新此页面时,如何从持久性加载“mydb”和“users”而不是创建新的(因为它将通过var db = new Loki(“mydb”);再次),是否存在用于检查数据库是否存在的API?
由于
答案 0 :(得分:2)
这是一个常见问题,默认方式是使用loadHandler,如图所示here。 基本上,您必须传递loadHandler函数,该函数根据现有文件初始化db:
var db = new loki('test',
{
autoload: true,
autoloadCallback : loadHandler,
autosave: true,
autosaveInterval: 10000
});
var users = null;
function loadHandler() {
users = db.getCollection('users');
if (!users) {
users = db.addCollection('users');
}
}
希望这有帮助。