3

我正在尝试从电子应用程序连接到 nedb。CRUD 操作效果很好。但是我没有看到 db 文件(D:/my.db,检查了隐藏文件)。文件存在于某处,因为即使在机器重新启动后它也会保留数据。我怀疑电子威胁我的相对路径,但我可以在任何地方找到它。

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
});
4

2 回答 2

4

我找到了解决这个问题的方法。在 main.js 中创建数据存储并将其设为全局时,nedb 不会使用 indexedDB,而是使用指定的本地文件。

然后在渲染器进程中通过 Electron.Remote 获取数据存储

于 2017-01-27T17:35:10.217 回答
1

医生说_

如果您指定文件名,数据库将是持久的,并根据浏览器自动选择可用的最佳存储方法(IndexedDB、WebSQL 或 localStorage)。

于 2016-05-18T22:44:25.340 回答