电子应用程序中的 NEDB 持久性
NEDB persistance in Electron app
我正在尝试从电子应用程序连接到 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
});
doc 说
If you specify a filename, the database will be persistent, and automatically select the best storage method available (IndexedDB, WebSQL or localStorage) depending on the browser.
我找到了解决这个问题的方法。在 main.js 中创建数据存储并将其设为全局时,nedb 不会使用 indexedDB,而是使用指定的本地文件。
然后在渲染进程中通过Electron.Remote
获取datastore
我正在尝试从电子应用程序连接到 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
});
doc 说
If you specify a filename, the database will be persistent, and automatically select the best storage method available (IndexedDB, WebSQL or localStorage) depending on the browser.
我找到了解决这个问题的方法。在 main.js 中创建数据存储并将其设为全局时,nedb 不会使用 indexedDB,而是使用指定的本地文件。
然后在渲染进程中通过Electron.Remote
获取datastore