2017-04-02 38 views
0

我用nedb在我的应用程序的NodeJS,首先我的代码是:NedB在Heroku上不保留数据库文件

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

一切都确定了本地主机,数据库将每一个厚厚的保存在我的数据库文件。 (服务器重新启动后保存数据库) 但在heroku服务器中,数据库为空! 我想数据库保存为内存! (不在我的数据库文件!!)为什么?! 我想让我的数据库保存在Heroku服务器的数据库文件中!

回答

1

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

测功机的生命周期在其运行过程中可以使用 文件系统作为一个临时暂存器,但没有被写入 文件可见于任何其他赛道的过程和写入的任何文件都将 被丢弃测功机停止或重新启动的那一刻。

您将有更好的时间添加一个MongoDB插件并写入。