4

私はnodejsアプリでnedbを使用しました。最初のコードは次のとおりです。

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

ローカルホストではすべて問題なく、データベースはすべての厚さをdbファイルに保存します。(サーバーの再起動後に保存されたデータベース)しかし、herokuサーバーでは、データベースは空です!!! データベースはメモリ内に保存されていると思います!(私のdbファイルにはありません!!)なぜですか?データベースを Heroku サーバーの db ファイルに保存したい!

4

1 に答える 1

6

Heroku dyno にはエフェメラル ファイル システムがあるため、そこにデータベースを保存しようとしないでください。ドキュメントから:

dyno の存続期間中、実行中のプロセスはファイルシステムを一時的なスクラッチパッドとして使用できますが、書き込まれたファイルは他の dyno のプロセスからは見えず、書き込まれたファイルは dyno が停止または再起動された瞬間に破棄されます。

代わりに、MongoDB アドオンを追加してそれに書き込むほうがよいでしょう。

于 2017-04-02T21:35:16.703 に答える