快速推送方法不更新JSON数据文件

时间:2018-10-04 14:43:11

标签: node.js express

我是Express / node平台的初学者,正在研究示例代码。一旦启动npm服务器,就会从employeeData.js文件中读取初始数据字符串-这是一个JSON字符串。与我一起使用的示例代码能够添​​加/编辑/创建新记录(员工)并打印出来。但是,所做的更改未写入实际的数据文件中。有人可以帮忙吗?

根据数据插入代码:

saveemployee: function(employee, callback) {
        currentID = currentID + 1;
    employee.id = currentID;
    employees.push(employee);
        callback(null, _clone(employee));
    }

数据目录(data / employeeData.js)中的实际JSON数据

module.exports = {
  employees:
  [
    {
      "id": 1,
      "name": "test1",
      "post": "post1"
    },
    {
      "id": 2,
      "name": "test2",
      "post": "post2"
    }
};

1 个答案:

答案 0 :(得分:0)

目前,您的数据仅在RAM中更新,您可以将更改持久保存到json-文件,而不能持久保存到js-源文件(实际上,您可以同时执行这两种操作,但是第二种情况看起来确实很奇怪。)

  

对于json文件数据库,您可以使用lowdb

代码示例:

const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');

const adapter = new FileSync('employees.json');
const db = low(adapter)

db.defaults({ employees:  [
    {
      id: 1,
      name: "test1",
      post: "post1"
    },
    {
      id: 2,
      name: "test2",
      post: "post2"
    },
  ]})
  .write()

// Add an employee
db.get('employees')
  .push({
    id: 3,
    name: "test1",
    post: "post1"
  })
  .write();