Данные БД Lokijs удалены после повторного запуска с помощью команды ионного запуска?

Я работаю над ионным проектом и пытаюсь использовать LokiJS. Ниже мой код,

контроллер,

$scope.test ={birthdays:[]};

$ionicPlatform.ready(function() {

  BirthdayService.initDB();

  BirthdayService.getAllBirthdays().then(function(birthdays){
    console.log("birthdays=",birthdays);// gives empty array second run...
    //var bday1 = {Name:"abrj",Date:new Date()};
    //var bday2 = {Name:"abrj2",Date:new Date()};
    //BirthdayService.addBirthday(bday1);
    //BirthdayService.addBirthday(bday2); added birthdays during the first run.

  });

});      

Я использую Cordova-FS-адаптер и Cordova-файл-плагин.

ниже мой сервис для интеграции адаптера,

    (function() {

    angular.module('starter').factory('BirthdayService', ['$q', 'Loki', BirthdayService]);

     function BirthdayService($q, Loki) {
         var _db;
         var _birthdays;

         function initDB() {
         var fsAdapter = new LokiCordovaFSAdapter({"prefix": "loki"});
          _db = new Loki('birthdaysDB',
                 {
                    autosave: true,
                    autosaveInterval: 1000, // 1 second
                    adapter: fsAdapter
          });
         };

         function getAllBirthdays() {
            return $q(function (resolve, reject) {

           var options = {
              birthdays: {
                 proto: Object,
                 inflate: function (src, dst) {
                 var prop;
                 for (prop in src) {
                    if (prop === 'Date') {
                       dst.Date = new Date(src.Date);
                    } else {
                       dst[prop] = src[prop];
                    }
                  }
               }
            }
         };

      _db.loadDatabase(options, function () {
            _birthdays = _db.getCollection('birthdays');

            if (!_birthdays) {
               _birthdays = _db.addCollection('birthdays');
             }

          resolve(_birthdays.data);
      });
      });
    };

    function addBirthday(birthday) {
        console.log("Birthdays=",_birthdays);
       _birthdays.insert(birthday);
    };

  function updateBirthday(birthday) {
      _birthdays.update(birthday);
  };

 function deleteBirthday(birthday) {
    _birthdays.remove(birthday);
 };

 return {
    initDB: initDB,
    getAllBirthdays: getAllBirthdays,
    addBirthday: addBirthday,
    updateBirthday: updateBirthday,
    deleteBirthday: deleteBirthday
 };
}
})();

При первом запуске я вставляю два документа в коллекции дней рождения. На втором этапе, когда я пытаюсь проверить, сохранились ли они, их не было. Я знаю, что делаю что-то не так. Предлагаю. Местное хранилище также очищается каждый раз, когда я перезапускаюсь (ionic run android)?!

0 ответов

Другие вопросы по тегам