2017-04-04 12 views
1

私のデータベースはローカルストレージに保存されていません。誰か助けてくれますか?私は、lokijsはデフォルトでlocalstorageのデータを保存すると思います。しかし、リフレッシュ後、私は更新されたデータを取得していません。ここ`localstorage`に` 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

関連する問題