Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么MongoDB需要在连接到DB之前启动mongod.exe?_Mongodb - Fatal编程技术网

为什么MongoDB需要在连接到DB之前启动mongod.exe?

为什么MongoDB需要在连接到DB之前启动mongod.exe?,mongodb,Mongodb,例如,MySQL不需要这样做。为什么MongoDB这样做 问题: 我正在用Java编写一个使用MongoDB的应用程序(用于PC)。我下载了一个驱动程序(第三版,最新版本),一切都很好。。。 …除了需要启动mongod.exe以实际使用数据库之外 就应用程序而言,它对用户极其不友好。所以,为了使用我的应用程序,他需要首先启动mongod.exe,即使它是由我的应用程序自动完成的(通过使用运行时),用户仍将有两个窗口 此外,我不会只在任务栏上看到我的应用程序图标 应该如何: 用户将看到我的应用程

例如,MySQL不需要这样做。为什么MongoDB这样做

问题: 我正在用Java编写一个使用MongoDB的应用程序(用于PC)。我下载了一个驱动程序(第三版,最新版本),一切都很好。。。 …除了需要启动mongod.exe以实际使用数据库之外

就应用程序而言,它对用户极其不友好。所以,为了使用我的应用程序,他需要首先启动mongod.exe,即使它是由我的应用程序自动完成的(通过使用运行时),用户仍将有两个窗口

此外,我不会只在任务栏上看到我的应用程序图标

应该如何:

用户将看到我的应用程序图标和mongod图标:

情况如何:

有什么解决办法吗?如果没有,有人能解释为什么我们需要启动mongod吗?MongoDB开发人员的设计非常糟糕,例如,当使用MySQL时,您的Java应用程序可以直接连接到数据库,而无需运行任务栏上显示的任何其他软件


如果使用MongoDB的应用程序需要用户事先启动mongod,或者即使他们自己启动了mongod,但任务栏上有两个图标,并且mongod运行的黑色窗口很大,这对用户来说是完全不友好的,所以使用Mongo是没有意义的

Mongod
mongoDB
服务器应用程序!如果不运行它,后面就没有任何东西可以听你的请求


关于MySQL,您可能将其设置为windows服务,windows会在windows启动时自动运行
mysqld.exe
!否则您也需要运行
mysqld.exe

为什么Windows需要插上我的电脑的电源线?因为你的第三方应用程序只是mongodb的java包装器,它将把你用java编写的查询翻译成mongo格式并传递给mongod。将“java”和“mysql”标记添加到这上面以提高社区可视性。@Pirat000好吧,假设你有两台Windows电脑,其中一台是无需电源线即可完美运行。像“那么为什么第二个需要它?”这样的问题是非常合乎逻辑的。这是同样的情况:为什么MySQL不需要我显式地运行它的服务器,而mongodb需要?我不知道MySQL是作为服务运行的,这是对我问题的回答。但在运行服务列表中我没有看到它的可能重复(我是指MySQL或mysqld)。无论如何,如果有两个图标(和窗口)而不是一个,那将是一个非常糟糕的应用程序设计。有没有办法在用户看不到mongod的控制台和任务栏图标的情况下启动mongod?是的!将其作为windows服务运行:确切地说,MySQL是作为windows服务运行的。检查正在运行的服务,您将在那里找到。其次,MongoDB和MySQL从来都不是设计为嵌入到客户机应用程序上的。你走错方向了。如果您想在客户端存储一些数据,请使用sql light或derby之类的工具-db@Aboodz谢谢,我明白了。但为什么在客户端应用程序上使用Mongo或MySQL是一种错误的方式呢?当我在大学里学习SQL时(我还是个学生),我们用MySQL制作了一个小程序,它们都是客户端应用程序。为什么这是一种错误的方法?因为它们非常重(MySQL大约140MB,空闲时)+不可移植。然而,将其用于学习和发展是非常好的。我个人使用它。