将Mongodb嵌入Electron

时间:2018-06-29 05:40:01

标签: electron electron-builder

我将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源代码在根级别。

enter image description here

2 个答案:

答案 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)

通用解决方案 this one在此处描述了允许将预编译的二进制文件与电子一起嵌入?

使用here

可以找到使用电子根路径软件包的分步教程。