【问题标题】:Why does MongoDB require launching mongod.exe before connecting to DB?为什么 MongoDB 需要在连接数据库之前启动 mongod.exe?
【发布时间】:2017-04-18 01:54:00
【问题描述】:

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

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

在应用方面,它对用户非常不友好。所以为了使用我的应用程序,他需要先启动 mongod.exe,即使它是由我的应用程序自动完成的(通过使用运行时),用户仍然有 2 个窗口。

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

应该如何:

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

怎么样:

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

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

【问题讨论】:

  • 为什么 Windows 需要插上我电脑的电源线?
  • 因为您的第三方应用程序只是 mongodb 的 java 包装器,会将您用 java 编写的查询转换为 mongo 格式并将其传递给 mongod。
  • 添加 'java' 和 'mysql' 标签以获得更好的社区可见性。
  • @thepirat000 假设您有 2 台 Windows 电脑,其中一台在没有电源线的情况下运行良好。像“那为什么第二个确实需要它?”这样的问题。非常合乎逻辑。这是同样的情况:为什么 MySQL 不需要我明确地运行它的服务器,而 mongodb 需要?我不知道 MySQL 作为服务运行,这是我的问题的答案。

标签: mongodb


【解决方案1】:

MongodmongoDB 服务器应用程序!如果不运行它,后面就什么都没有听你的请求!

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

【讨论】:

  • 我在运行服务列表中看不到它(我的意思是 mysql 或 mysqld)。无论如何,如果有 2 个图标(和窗口)而不是一个,那将是一个非常糟糕的应用程序设计。有什么方法可以启动 mongod 而不让用户看到它的控制台和任务栏图标?
  • 是的!将其作为 Windows 服务运行:check this
  • 没错,MySQL 作为 Windows 服务运行。检查正在运行的服务,您会在那里找到。其次,MongoDB 和 MySQL 从未被设计为嵌入到客户端应用程序中。你正朝着错误的方向前进。如果您想在客户端存储一些数据,请使用 sql-light 或 derby-db
  • @Aboodz 谢谢,我明白了。但是为什么在客户端应用程序上使用 Mongo 或 MySQL 是错误的方式?当我在大学学习 SQL 时(我还是个学生),我们使用 MySQL 制作了一个小程序,它们都是客户端应用程序。为什么这是错误的方法?
  • 因为它们非常重(MySQL 在空闲时大约 140MB)+ 不可移植。但是,将其用于学习和发展确实很好。我个人使用它。
猜你喜欢
  • 1970-01-01
  • 2020-10-12
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-08
  • 2014-09-19
  • 1970-01-01
相关资源
最近更新 更多