node.js - heroku 上的 NedB 不保留数据库文件

标签 node.js database heroku nedb

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

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

本地主机一切正常,数据库将在我的 db 文件中保存所有内容。 (服务器重启后数据库保存) 但是在 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 插件并写入它。

关于node.js - heroku 上的 NedB 不保留数据库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167763/

相关文章:

javascript - 使用 AWS 的 getObject 在浏览器中显示图像

mysql - 如何使用join语句从另一个表中选择最新记录的值?

java - Spring/Hibernate 和关系映射

heroku - Heroku 没有永久文件系统?

heroku - heroku 和 github 有什么区别

javascript - Loopback中静态远程方法及其方法签名的定义

node.js - Mongoose 不同并填充文档

node.js - 使用 Typescript 的 Express.js 路由

mysql - 你如何在mysql中忽略日期为12/31/2999的记录?

heroku - 玩!在 Heroku 上使用 Drools 的框架 [1.2.4]