UPDATE I随后发现了一些示例,如:
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");
}
}
});基本上对我这边起作用。所以我只是使用它,不确定这是否正确,请告知.
全部:
我对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“和”用户“,而不是创建新的(因为它将再次通过var db = new Loki("mydb"); ),是否有API来检查数据库是否存在?
发布于 2020-08-25 10:12:47
const db = new loki('example.json', {
env: 'BROWSER',
autosave: true,
autosaveInterval: 500,
autoload: true })您需要将'env‘属性分配给'BROWSER’
发布于 2019-01-22 17:07:43
据我所知,不可能坚持到客户端DB,因为浏览器访问本地文件系统是困难和普遍不安全的。Lokijs支持浏览器本地存储中的持久性。Loki使用适配器实现浏览器本地存储的持久性,此适配器默认为“localStorage适配器”。
var db = new Loki("test.db", {
autoload: true,
autoloadCallback : databaseInitialize,
autosave: true,
autosaveInterval: 4000,
//adapter: 'default already set'
});有关详细信息,请参阅https://rawgit.com/techfort/LokiJS/master/jsdoc/tutorial-Persistence%20Adapters.html
https://stackoverflow.com/questions/34883735
复制相似问题