我将MongoDB源代码保留在电子源代码中,并使用以下命令运行MongoDB:
const app = require('electron').app;
const child_process = require('child_process');
const dbInstanceDir = app.getAppPath();
const startMongo = dbInstanceDir + mongodb/bin/mongod --dbpath mydbpath --port 27017 --logpath mylogfile
child_process.exec(startMongo, (error, stdout, stderr) => {
});
上面的命令在开发时正在起作用,但是在捆绑后却不起作用。我正在使用电子助剂制造束。 MongoDB源代码在根级别。
答案 0 :(得分:2)
据我所知,您不能将MongoDB与Electron打包,必须将其单独安装。来自此网站的报价:https://www.techiediaries.com/electron-data-persistence/
使用MongoDB的优缺点
对于将MongoDB与Electron应用程序结合使用的优点:
可用于所有Electron支持的平台,例如Windows,Linux 和MAC。因此,它不限制Electron的跨平台功能。
可以轻松安装并与Electron集成。
还有一些缺点:
- 不能与Electron捆绑在一起,因此最终用户需要安装它 与您的应用程序分开。
- 对小应用程序的过度杀伤。
相反,我是否建议您使用NeDB-https://github.com/louischatriot/nedb
NeDB使用MongoDB API的子集,因此您无需为读写进行大量更改。如果您继续阅读我上面发布的链接,则还将介绍如何在Electron应用程序中使用NeDB。
还有许多其他可以嵌入Electron的选项,例如NeDB(Pouch,Loki.js),可能会更适合您的需求。
**更新**
您也许可以使用以下命令:https://github.com/nosqlclient/nosqlclient-electron
网站上提供了更多信息:https://www.nosqlclient.com/
看起来像是使用Electron完全支持MongoDB的Electron的替代应用程序?
答案 1 :(得分:0)