2017-04-04 48 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

相關問題