var jsonfile = require('jsonfile');
var data = require('./data.json');
var items = data.items;
data.items[items.length] = {
msg: "A new message"
};
jsonfile.writeFile('./data.json', data, {
spaces: 2
}, function(err) {
console.error(err);
});
{
"items": [ {
"name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message1"
}
,
{
"name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message2"
}
,
{
"name": "Tom", "time": "7.4.2016 3:13PM", "msg": "message3"
}
]
}
我需要使用node.js维护一个json文件,其数据样式类似于上面的代码。我应该不断地将对象添加到“items”数组中。但是,如果我采用上面代码中的方法,每次要添加新项目时,我都必须加载并保存整个数据。
所以我的问题是:
有没有一种方法可以直接操作json文件,而不需要加载和保存整个数据的麻烦(就像处理数据库系统一样)?
最佳答案
如果您发现自己正在加载和保存“一大堆数据”,并且正在寻找附加 json 的方法,则表明您需要数据库。
有典型的 mongodb 等...服务器。但如果您的需求很简单,您也可以查看简单的嵌入式数据库,例如 NEDB 。这个(和其他嵌入式数据库)是基于文件的数据库,它们已经为您解决了问题。没有理由“像数据库系统”。只需使用一个:)
如果您必须使用文件方法,另一种可能性是编写单个文件,或者如果文件太多,那么您可以编写项目的“页面”。但可行性取决于您的阅读模式。
但是,如果您处于这种状态并提出这些问题,那么数据库可能更合适。
关于json - 如何将json数据追加到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799459/