【问题标题】:compound server 8888 fails with "failed to connect to [localhost:27017]"复合服务器 8888 失败并显示“无法连接到 [localhost:27017]”
【发布时间】:2013-02-17 23:13:22
【问题描述】:

我正在尝试在 Windows 机器上使用 nodejs 启动一个项目。 我知道 windows 不是正确的环境,但我就是这样使用的!

我在使用compound server 8888 启动服务器时遇到错误。 我通过

生成了所有文件
compound init photo --tpl jade --css less --db mongodb
cd photo
npm install -l
compound generate crud album title images createdAt:date

在我意识到您可以将复合安装为复合或复合js之后,这一代运行良好(安装了复合js它不起作用但是当我安装复合时它起作用了- 我认为两者都是一样的:-/)。

但是当我尝试启动服务器时 compound server 8888 它因此错误而中断:

在开发环境中监听 0.0.0.0:8888 的复合服务器 {PATH}\photo\node_modules\jugglingdb-mongodb\lib\mongodb.js:74 if (err) 抛出错误; ^ 错误:无法连接到 [localhost:27017] 在 Server.connect.connectionPool.on.server._serverState ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\server.js:564:74) 在 EventEmitter.emit (events.js:126:20) 在 connection.on._self._poolState ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:124:15) 在 EventEmitter.emit (events.js:99:17) 在 Socket.errorHandler ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection.js:465:10) 在 Socket.EventEmitter.emit (events.js:96:17) 在 Socket._destroy.self.errorEmitted (net.js:329:14) 在 process.startup.processNextTick.process._tickCallback (node.js:244:9)

显然它无法连接到 MongoDB,但为什么? 我必须在 MySQL 之类的地方启动这个数据库吗?

任何帮助将不胜感激。
谢谢!

【问题讨论】:

  • "我必须在 MySQL 之类的地方启动这个数据库吗?" 是的。 mongod / mongod.exe.
  • 如果 mongodb 没有运行,您将无法连接到它;)

标签: node.js mongodb compoundjs


【解决方案1】:

您需要先启动 MongoDB 守护程序。为此,请转到 MongoDB 文件所在的目录并在 bin 文件夹下运行 mongod.exe

换句话说运行:

<MONGO_HOME>\bin\mongod.exe

要确保主要的 MongoDB 数据库进程正在运行,请运行同样位于同一文件夹下的 mongo.exe (Mongo Shell)。如果它成功连接并用等待您命令的 shell 向您致意,那么您的数据库已启动并正在运行。返回并重新启动复合服务器以查看它是否有帮助。如果没有,请检查您的数据库连接设置。

【讨论】:

  • 非常感谢! - 那有帮助。我必须更改我的数据库路径,以便在数据库启动之前获得足够的空间,但现在它运行了!!! :D
猜你喜欢
  • 2017-11-10
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 2017-10-26
  • 2018-10-14
  • 2021-12-30
相关资源
最近更新 更多