2016-05-18 16 views
2

電子アプリからnedbに接続しようとしています。 CRUDの操作は素晴らしいです。しかし、私はdbファイル(D:/my.db、隠しファイルをチェックしていない)は表示されません。ファイルはマシンの再起動後もデータを保持するため、どこかに存在します。私は電子が自分の道を相対的なものとして脅かすと思うが、私はそれをどこでも見つけることができる。電子アプリのNEDB永続性

var Datastore = require('nedb'), db = new Datastore({filename : 'D:/my.db', autoload: true}); 
var doc = { hello: 'world' 
      , n: 5 
      , today: new Date() 
      , nedbIsAwesome: true 
      , notthere: null 
      , notToBeSaved: undefined // Will not be saved 
      , fruits: [ 'apple', 'orange', 'pear' ] 
      , infos: { name: 'nedb' } 
      }; 

db.insert(doc, function (err, newDoc) { // Callback is optional 
    // newDoc is the newly inserted document, including its _id 
    // newDoc has no key called notToBeSaved since its value was undefined 
}); 

答えて

1

doc

ファイル名を指定した場合、データベースは永続的で、かつ自動的に利用可能な最善の保存方法(のIndexedDB、WebSQLかのlocalStorage)を選択しますが、ブラウザによっては言います。

2

これを回避する方法が見つかりました。 main.jsにデータストアを作成してグローバルにすると、nedbはindexedDBではなく指定されたローカルファイルを使用します。

レンダラプロセスでは、Electron.Remote経由でデータストアを取得します