我正在開發一個使用loki.js的Ionic應用程序,但每次刷新應用程序時按f5我都會丟失存儲在loki數據庫中的所有數據。 爲什麼發生?Loki.js在Ionic Apps中丟失數據
我在我的離子應用程序中不使用chache。
我正在開發一個使用loki.js的Ionic應用程序,但每次刷新應用程序時按f5我都會丟失存儲在loki數據庫中的所有數據。 爲什麼發生?Loki.js在Ionic Apps中丟失數據
我在我的離子應用程序中不使用chache。
這可能是因爲當你按下F5鍵保存在內存中的數據不會被寫入到目標JSON文件呢。 你可以嘗試設置明確的時間範圍,當你實例洛基保存數據:
var _db = new Loki('./database/db.json', {
autoload: true,
autosave: true,
autosaveInterval: 5000 // 5 secs
});
function add(newPatient) {
return $q(function(resolve, reject) {
try {
var _patientsColl = GetCollection(dbCollections.PATIENTS);
if (!_patientsColl) {
_patientsColl = _db.addCollection(dbCollections.PATIENTS,{indices:['firstname','lastname']});
}
_patientsColl.insert(newPatient);
console.log('Collection data: ', _patientsColl.data);
resolve();
}
catch (err) {
reject(err);
}
});
}
function GetCollection(collectionName){
return _db.getCollection(collectionName);
}
隨着「autosaveInterval」在內存中的數據會被寫入到JSON文件每5秒(可以調整這個值根據你喜歡的)。
編輯 我說我用它來保存新文檔的代碼到我的收藏,甚至與頁面刷新,數據被正確地存儲。我使用DB設置中「自動保存」,也許你可以將其設置爲好,萬一有未正確趕上,當你明確地觸發保存路徑。
我做到了,它仍然丟失了數據。 –
增加@Luca的答案,你有沒有確保在任何階段出現了一個'db.saveDatabase()'調用您刷新頁面之前?如果數據庫沒有保存,它將不會持續 - 顯然。 –
我做了它,我在這裏丟失的數據是我的代碼:'function addUser(user){__ __ _ _ _ _ _ _ _ _ _ _ _ _ _db.saveDatabase(); };' –
shloud我使用了一個persitense適配器? –