Как сохранить данные `LokiJS` в`localalstorage`
Моя база данных не сохраняется в локальном хранилище. кто-нибудь поможет мне здесь? Я думаю что, lokijs
сохранит данные в локальном хранилище по умолчанию. Но после обновления я не получаю обновленные данные.
вот мой код:
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});
})
});
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