heroku 上的 NedB 不保留数据库文件

NedB on heroku dont keep db file

我在我的 nodejs 应用程序中使用了 nedb,我的第一个代码是:

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

本地主机一切正常,数据库将在我的数据库文件中保存所有内容。 (服务器重启后数据库保存) 但是在 heroku 服务器中,数据库是空的!!! 我认为数据库保存在内存中! (不在我的数据库文件中!!)为什么?! 我想将我的数据库保存在 Heroku 服务器的 db 文件中!

Heroku dynos 有一个 ephemeral file system,所以你不应该试图在那里保存你的数据库。来自文档:

During the dyno’s lifetime its running processes can use the filesystem as a temporary scratchpad, but no files that are written are visible to processes in any other dyno and any files written will be discarded the moment the dyno is stopped or restarted.

你最好添加一个 MongoDB 插件并写入它。