НедБ на героку не хранит дб файл

Я использовал nedb в моем приложении nodejs, сначала мой код:

var Datastore = require('nedb');
var db = new Datastore({ filename: 'users.db', autoload: true });
db.persistence.setAutocompactionInterval(5);

с локальным хостом все в порядке, и база данных сохранит все данные в моем файле базы данных. (База данных сохранена после перезапуска сервера) но на сервере heroku база пуста!!! я думаю, что база данных сохранена как в памяти! (нет в моем файле базы данных!!) Почему?! Я хочу сохранить свою базу данных в моем файле базы данных на сервере Heroku!

1 ответ

Решение

У Heroku Dynos эфемерная файловая система, поэтому вам не следует пытаться сохранить там свою базу данных. Из документации:

В течение времени существования динамометрического стенда его запущенные процессы могут использовать файловую систему в качестве временной блокнота, но записанные файлы не видны процессам в любом другом динамометрическом стенде, и любые записанные файлы будут отброшены в тот момент, когда динамометрический блок остановлен или перезапущен.

Вам будет лучше добавить аддон MongoDB и записать в него вместо этого.

Другие вопросы по тегам