我自己教会如何使用MongoDB和Node.Js,特别是我试图设置Deployd(开源api构建框架),它建立在mongo&节点,并在Heroku上托管它。我正在学习本教程:
http://www.icapps.com/open-source-alternative-for-parse/
尝试连接到http://localhost:3000/
时出现问题,它会引发错误:
GET /dashboard/ Error: failed to connect to [127.0.0.1:27017]
at null.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/server.js:383:73)
at EventEmitter.emit (events.js:95:17)
at null.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:93:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (/Users/kimi/Documents/Web/deployd/deployd-demo/node_modules/deployd/node_modules/mongodb/lib/mongodb/connection/connection.js:385:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickDomainCallback (node.js:459:13)
我知道这与mongo无法正确连接到服务器有关。但我对如何解决这个问题感到茫然。有没有人对这个新手有任何建议?
非常感谢你!
/////////// 回答! (stackoverflow赢了,让我再发一个8小时的答案),但基本上看来mongo目录是在错误的地方创建的。但是跑步:
sudo mkdir -p /data/db
并将权限更改为:
sudo chmod 0755 /data/db
sudo chown mongod:mongod /data/db
它似乎工作。好极了!我使用这个stackoverflow答案作为参考:
mongodb Mongod complains that there is no /data/db folder
非常感谢@Niall的所有帮助!!!
答案 0 :(得分:1)
1 ..可能是连接错误,你启动mongod服务吗?
$ mongod --host localhost --dbpath /var/lib/mongodb --logpath data/log/mongodb/mongodb.log
2 ..如果你使用Express @ 3, connect-mongo可能默认设置连接到[127.0.0.1:27017]
连接-mongo.js 强>
$ vi .\node_modules\connect-mongo\lib\connect-mongo.js
...
var defaultOptions = {
// Legacy strategy default options
host: '127.0.0.1',
port: 27017,
...
app.js 中的
var settings = require('./settings');
...
var MongoStore = require('connect-mongo')(express);
var sessionStore = new MongoStore({
host: settings.host, //define this, otherwise it throws "Error: failed to connect to [1276.0.0.1:27017]"
port: settings.port,
db: settings.db
}, function () {
console.log('connect mongodb success...');
});
settings.js 中的可以这样设置:
module.exports = {
cookie_secret : 'secret_meteoric',
db : 'test',
host : '192.168.0.190', //your mongod host
port : 27017
};
然后您可以在应用启动时连接默认的mongod。 希望它有所帮助。
答案 1 :(得分:-1)
我在这个问题上也浪费了很多时间。然后发现了一个愚蠢的问题。 我正在安装Pencilblue。 你应该去铅笔蓝根文件夹。
它为我工作。对于Windows的Mongodb安装,您可以参考http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/ 可能会对某人有所帮助..