我是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"
}
};
答案 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();