Запись данных в файл json NodeJS

с помощью fetch я отправляю на сервер json данные "{...}", у меня есть файл db.json

[
  {
    "id":1,
    "text":"test"
  },
  {
    "id":2,
    "text":"test2"
  }
]

Как мне полученный json с помощью fetch записать внутрь [] в db.json файл? я пробовал через fs.write но он перезаписывает файл.


Ответы (1 шт):

Автор решения: Александр

fs.appendFile()/fs.appendFileSync():

const fs = require("fs");

fs.appendFileSync("hello.txt", "Привет ми ми ми!");

fs.appendFile("hello.txt", "Привет МИД!", function(error){
    if(error) throw error; // если возникла ошибка

    console.log("Запись файла завершена. Содержимое файла:");
    let data = fs.readFileSync("hello.txt", "utf8");
    console.log(data);  // выводим считанные данные
});

fs.appendFile

@Лукас, это первый запрос в гугл. Может пора становиться самостоятельнее?

const fs = require('fs');

const data = [{
    id: 1,
    text: 't'
}, {
    id: 2,
    text: 't2'
}];

// создаём файл
fs.writeFileSync('data.json', JSON.stringify(data));

// берём старые данные
const dbData = JSON.parse(fs.readFileSync('data.json', (err, data) => (data)))

// сливает данные
fs.writeFileSync('data.json', JSON.stringify([...dbData, ...data]));

// читаем файл
const text = fs.readFileSync('data.json', 'utf8');
console.log(JSON.parse(text));

введите сюда описание изображения

→ Ссылка