我的数据库未保存在本地存储中。有人帮我吗?我想,lokijs
默认情况下会保留localstorage中的数据。但刷新后我没有得到更新的数据。
这是我的代码:
jQuery(document).ready(function($) {
var db = new loki("test", {
autosave: true, //setting to save
autosaveInterval: 1000
});
var children = db.addCollection('children')
//adding defualt datas
children.insert({name:'Sleipnir', legs: 8})
children.insert({name:'Jormungandr', legs: 0})
children.insert({name:'Hel', legs: 2});
$("#local").on("click", function(e){
e.preventDefault();
var callback = function( data ){
console.log("call back data", data );
}
$.mockjaxSettings.namespace = "";
myCaller( callback );
})
$("#remote").on("click", function(e){
e.preventDefault();
$.mockjaxSettings.namespace = "///";
myCaller();
});
$("#getData").on("click", function(e){
e.preventDefault();
var child = children.find();
console.log( "children", child );
});
$("#insertData").on("click", function(e){
e.preventDefault();
//inserting new data, but after refresh i am not getting it!!!
children.insert({name:'Mohamed Arif', legs: 2});
})
});
答案 0 :(得分:1)
您的数据会保留在本地存储中,您只需在每次加载var children = db.addCollection('children')
将其替换为:
var children
db.loadDatabase({}, () => {
children = db.getCollection('children')
if(!children) {
children = db.addCollection('children')
}
})
因此,如果你的收藏品不存在,你就可以创建它,如果它已经存在,你就不要删除它。
我很快就找到了一个符合你要求的人:https://plnkr.co/edit/eOgc1ZoQioaI4JYpeggY