复合服务器8888失败,“无法连接到[localhost:27017]”

时间:2013-03-03 22:45:40

标签: node.js mongodb compoundjs

我正在尝试在Windows机器上使用nodejs启动一个项目。 我知道窗户不是合适的环境,但这就是我的用途!

使用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 它打破了这个错误:

Compound server listening on 0.0.0.0:8888 within development environment

{PATH}\photo\node_modules\jugglingdb-mongodb\lib\mongodb.js:74
        if (err) throw err;
                       ^
Error: failed to connect to [localhost:27017]
    at Server.connect.connectionPool.on.server._serverState ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\server.js:564:74)
    at EventEmitter.emit (events.js:126:20)
    at connection.on._self._poolState ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:124:15)
    at EventEmitter.emit (events.js:99:17)
    at Socket.errorHandler ({PATH}\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection.js:465:10)
    at Socket.EventEmitter.emit (events.js:96:17)
    at Socket._destroy.self.errorEmitted (net.js:329:14)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

显然它无法连接到MongoDB,但为什么呢? 我是否必须像MySQL一样启动这个db?

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

1 个答案:

答案 0 :(得分:2)

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

换句话说,运行:

<MONGO_HOME>\bin\mongod.exe

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