0xD34F, а тебя факт того что файл может быть гигов 40 не насторожил ? Плюс нода выкидывает исключение на чтение файла больше 1гб , да и в доке сказано что не грузите такие объёмы в процесс ноды создайте отдельный поток и читайте побитова, ну и потом пишите в нужную позицию строки
Александр Сисюкин, а вас не насторожил факт того, что файл может быть килобайт 40? Или даже 5. В смысле - откуда вы 40 гигов взяли-то? В тексте вопроса ничего о размерах файла нет. Надо будет - автор вопроса этот момент уточнит.
0xD34F, вы тоже правы, врятли у парня такой объём данных, как мне кажется по такой глупости лучше не задавать вопрос, так как если проблема которая решается в лоб ее можно решить самому
Александр Сисюкин, 0xD34F, Значит по плану максимум будет 200 записей типа "ключ-массив[10-20 значений в массиве]", но будет повышенная динамика записей в файл.
Владимир Мир, то есть общий объём данных 200 (записей) * 20 (элементов в массиве) * 10 (размер одного элемента, судя по приведённой вами картинке) ~ 40 килобайт. Реально конечно побольше (кавычки, скобки, пробелы) - 50-55, округлим до 100 килобайт, с запасом. Ерунда.
"Повышенная динамика" - это как?
UPD. Хотя чего гадать-то - возьмите да попробуйте, посмотрите, что получится. Код-то тривиальный. readFile - JSON.parse - данные добавили - JSON.stringify -
writeFile. На всё про всё строчек пять.
0xD34F, "Повышенная динамика", типа, высокая частота обращение к этому самому файлу json. Однако пока затрудняюсь сказать насколько высокая. Попробую — отпишусь :)
Первый
Решение в лоб как тут предлагали . Читаем файл целеком добавляем в json новый элемент и записываем (ресурсоемкий фигня и ограничение размера файла до 1 Гбит )
Второй вариант считываем файл побитова в отдельном потоке узнаем позицию последней скобки и туда добавляем свои символы