[更新] 我后来发现了一些例子:
LocalDate date = LocalDate.of(2015, 8, 11);
TypedQuery<MyEntity> query = this.em.createQuery("SELECT e FROM MyEntity e WHERE date BETWEEN :start AND :end", MyEntity.class);
query.setParameter("start", date.minusDays(2));
query.setParameter("end", date.plusDays(7));
MyEntity e = query.getSingleResult();
它基本上适合我。所以我只是使用它,不确定这是否正确,请告知。
所有
我对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");
}
}
});
然后,当我刷新此页面时,如何加载&#34; mydb&#34;和&#34;用户&#34;从持久性而不是创建新的(因为它将再次通过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();
}
),是否有API来检查数据库是否存在?
由于
答案 0 :(得分:1)
const db = new loki('example.json', {
env: 'BROWSER',
autosave: true,
autosaveInterval: 500,
autoload: true })
您需要将'env'属性分配给'BROWSER'
答案 1 :(得分:0)
据我所知,它不可能持久保存到客户端数据库,因为浏览器访问本地文件系统很困难且通常不安全。 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