我的目标是为nedb创建持久性本地文件,因为默认情况下,如果从渲染器进程(reactjs网页)创建数据存储,则nedb会将indexedDB用于浏览器 所以我决定从主流程中创建数据存储,以便基于stackoverflow上的许多答案来创建持久性本地文件
所以我设法从主进程创建了nedb数据库对象,甚至按照我想要的方式创建了database.json文件
D:/node4/projectz/react_stuff/bizguy/src/services/offline_db/product.js:33
const {remote} = window.require('electron')
const productDB = remote.getGlobal('productDB'),
categoriesDB = remote.getGlobal('categoriesDB')
> 33 | productDB.find({}, function(err,docs){
34 | if (err) {
35 | console.log('something is wrong with offline products db'
)
主要过程(电子应用程序)
const {app, BrowserWindow, Menu,Tray,shell} = require('electron')
const path = require('path')
const DataStore = require('nedb')
const productDB = new DataStore({
filename: path.join(userDirectory,'products.json'),
autoload: true,// automatically load the database
timestampData: true// automatically add and manage the fields createdAt and updatedAt
}),
categoriesDB = new DataStore({
filename: path.join(userDirectory, 'prod_category.json'),
autoload: true,
timestampData:true
})
//make them global variables
global.productsDB = productDB;
global.categoriesDB = categoriesDB
我希望nedb数据库的查找和插入方法在渲染器过程中能正常工作 但是我却收到这个错误 TypeError:无法通过渲染器进程(反应应用程序)读取未定义的属性“查找”,就好像nedb数据存储区未定义