Electron 用电子束嵌入Mongodb

Electron 用电子束嵌入Mongodb,electron,electron-builder,Electron,Electron Builder,我将MongoDB源代码保存在electron源代码中,并使用以下命令运行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

我将MongoDB源代码保存在electron源代码中,并使用以下命令运行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) => {
});
上面的命令在开发时起作用,但在绑定后不起作用。我正在使用electron builder制作捆绑包。MongoDB源代码位于根级别


据我所知,您不能将MongoDB与Electron打包,它必须单独安装。从本网站引述:

使用MongoDB的利弊

有关将MongoDB与Electron应用程序结合使用的优点:

  • 适用于所有电子支持的平台,如Windows、Linux 还有麦克。因此,它不限制电子的跨平台特性

  • 可轻松安装并与电子设备集成

还有一些缺点:

  • 无法与Electron捆绑,因此最终用户需要安装它 与您的应用程序分开
  • 对于小型应用程序来说,杀伤力过大
相反,我可以建议使用NeDB-

NeDB使用MongoDB API的一个子集,所以您不需要修改太多代码来进行读写。如果你继续阅读我在上面发布的链接,它还包括在Electron应用程序中使用NeDB

还有其他几个选项可以嵌入像NeDB(pocket,Loki.js)这样的Electron,这可能会更好地满足您的需要


**更新**

您可以使用以下功能:

有关更多信息,请访问网站:

它看起来是一个完全支持MongoDB的Electron替代应用程序,使用Electron?

一个通用解决方案 这里描述了允许嵌入带有electron的预编译二进制文件


可以在asar文件中找到使用electron根路径包的分步教程

检查是否有Mongo folderYes,它就在那里。不能用electron包mongodb。用户必须单独安装。可能重复的我已经使用了NeDB。NeDB的主要问题是它在内存中加载整个数据库,这将在内存耗尽时挂起系统,这就是我尝试使用MongoDB的原因。我想知道为什么我得到了否决票-这个答案是正确的-您无法使用Electron@Rohit-用可能的替代方案更新了我的答案。另外,关于NeDB-内存消耗的DB有多大?您是否考虑过将其拆分为多个DBs?@Fedetek请参阅作者的免责声明@Nickensoul谢谢!