2016-05-11 10 views
1

Alle:lokijs verliert db und Daten in der Sammlung, wenn ich versuchen, mehr Daten hinzuzufügen, nachdem meine cordova App ein colesing relunching es

Ich bin ziemlich neu in Lokijs, ich frage mich, wie kann ich die Datenbank und die Sammlung neu zu laden, die hat wurde beibehalten?

sagen, dass ich eine Datenbank und Sammlung bauen, dann ich es bestehen (wie auf eine Schaltfläche klicken Persistenz Prozess auszulösen):

var db = new Loki("mydb"); 
 
    var users = db.addCollection('users'); 
 
    // we bind this to a button click event 
 
    function saveUser(){ 
 
     users.insert({ 
 
      name: 'joe' 
 
     }); 
 
     users.insert({ 
 
      name: 'john' 
 
     }); 
 
     users.insert({ 
 
      name: 'jack' 
 
     }); 
 
     db.saveDatabase(); 
 
    }

Dann, als ich diese Seite aktualisieren, wie kann Ich lade "mydb" und "users" aus der Persistenz, anstatt eine neue zu erstellen (weil es geht durch var db = new Loki ("mydb"); schon wieder), gibt es API um zu überprüfen, ob eine Datenbank existiert?

Dank

Antwort

2

Dies ist eine häufig gestellte Frage ist die Standardmethode, die loadHandler, wie dargestellt here zu verwenden. Grundsätzlich müssen Sie eine loadHandler Funktion übergeben, die die DB auf einer Datei auf initialisiert:

var db = new loki('test', 
     { 
     autoload: true, 
     autoloadCallback : loadHandler, 
     autosave: true, 
     autosaveInterval: 10000 
     }); 
var users = null; 
function loadHandler() { 
    users = db.getCollection('users'); 
    if (!users) { 
     users = db.addCollection('users'); 
    } 
} 

Hoffnung, das hilft.