首页 > 解决方案 > 无法使用 lokijs 将数据保存在文件中

问题描述

我使用自动保存选项尝试了一个非常非常基本的 lokijs 示例,但我无法保存数据......

我的错误的想法?(它改编自https://github.com/techfort/LokiJS/wiki/LokiJS-persistence-and-adapters上的示例

我在我的 PC(Windows)上使用 Node v10.14.2 和最新版本的 lokijs?


const loki = require('lokijs');

var db = new loki('sandbox.db', {
        autoload: true,
        autoloadCallback : databaseInitialize,
        autosave: true, 
        autosaveInterval: 4000
    });

function databaseInitialize() {

  var cu = db.getCollection("Users");
  if (!cu) {
    cu = db.addCollection("Users", {indices: ['name']});
  }
  if (!cu) {
        var now = new Date();
      try{
        cu.insert({
            name : "Mr X",
            email : "Mr_x@gmail.com",
            password : "xyz",
            creation: now
        });
      }
    catch(ex){
        console.log("test exception: "+ ex.message);    
    }
  }
}

标签: node.jsnosqllokijs

解决方案


最后,我在另一个示例中找到了答案:

“自动更新”选项必须设置为每个集合!

  db.addCollection("AuthController",  {unique: ['name'] , autoupdate: true } );

推荐阅读