Я пытаюсь решить проблему, при которой я пытаюсь написать файл json с данными, введенными пользователем. Но каждый раз, когда я ввожу новые данные, они перезаписывают существующие данные.
Как я могу избежать перезаписи существующего объекта json в файле json и вместо этого добавить новый объект в массив на основе пользовательского ввода?
userData. json:
[
{
"name": "Name",
"number": "4334343",
"email": "email@email.com",
"message": "sdsd"
}
]
сервер. js: -
app.get("/myaction", function (request, response){
var name = request.query.name;
var number = request.query.number;
var email = request.query.email;
var message = request.query.message;
if (name != "") {
response.send("Your name is " + name + "number"+ number + "email"+ email + "message" + message);
const sendData = [{
name:name,
number:number,
email:email,
message:message
}];
fs.stat('./userdata.json', function(err, stat) {
if(err == null) {
console.log('File exists');
} else if(err.code === 'ENOENT') {
// file does not exist
var data = JSON.stringify(sendData,null, 2);
fs.writeFile('./userdata.json', data, (err) => {
if (!err) {
console.log('done');
}
});
} else {
console.log('Some other error: ', err.code);
}
});
} else {
response.send("Please provide info");
}
});