我的Sail应用程序在连接到我的本地mongo db时运行,但是当我尝试使用Modulus托管的数据库进行连接时,它将无法正常加载。
我已正确设置连接并通过IDE
进行测试connections.js:
// MONGO DB reference for the database
cogspeed: {
adapter : 'sails-mongo',
//host : 'localhost',
host : 'novus.modulusmongo.net',
port : 27017,
user : '*********',
password : '***********',
database : '**********'
},
我得到的错误是:
C:\Projects\gmm\cogspeed>sails lift
info: Starting app...
error: A hook (`orm`) failed to load!
error: Error: failed to connect to [localhost:27017]
at null.<anonymous> (C:\Projects\gmm\cogspeed\node_modules\sails-mongo\node_modules\mongodb\lib\mongodb\conne
ction\server.js:553:74)
at EventEmitter.emit (events.js:106:17)
at null.<anonymous> (C:\Projects\gmm\cogspeed\node_modules\sails-mongo\node_modules\mongodb\lib\mongodb\conne
ction\connection_pool.js:140:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (C:\Projects\gmm\cogspeed\node_modules\sails-mongo\node_modules\mongodb\lib\mongodb\con
nection\connection.js:512:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:441:14
at process._tickDomainCallback (node.js:459:13)
为什么Sails仍在关注localhost?
提前致谢!
答案 0 :(得分:6)
我有同样的问题。事实证明,在connection.js中使用相同的适配器连接多个连接会导致此问题。我在帆0.10.5
答案 1 :(得分:3)
确认您的密码不包含&#39; @&#39;字符。由于node-mongodb-native的当前实现,它会弄乱你的连接字符串。
答案 2 :(得分:1)
/config/local.js文件仍然有一个指向本地主机的mongo适配器。
答案 3 :(得分:1)
Sails still(v 0.11.0)在 /config/connections.js 配置文件中有几个相同类型的适配器存在问题。在部署模数后我遇到了同样的问题,而且支持无法帮助我。我花了几个小时试图调试它......但是解决方法非常简单。而不是将数据库连接参数放入 connections.js ,而是将它们直接放入特定于环境的配置文件中,如下所示:
// config/env/development.js
module.exports = {
connections : {
mongo: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
database: 'your-db-name'
},
},
// your other dev configs
};
生产:
// config/env/development.js
module.exports = {
connections : {
mongo: {
adapter: 'sails-mongo',
host: 'your-remote-mongo-host',
port: 27017,
user: 'your-remote-user',
password: 'your-remote-db-password',
database: 'your-remote-db-name'
},
},
// your other dev configs
};
您的 /config/models.js 看起来像这样:
module.exports = {
connection : 'mongo',
// your other model configs
};
PS:此问题已经报告给sails.js团队https://github.com/balderdashy/sails/issues/2480
答案 4 :(得分:0)
如果错误显示
error: Error: failed to connect to [localhost:27017]
然后, Mongo 没有运行。您可以使用命令
启动它mongod
愚蠢的错误,但也发生了......
如果错误显示错误:MongoError: auth fails
,则此解决方案可能适用于您:https://stackoverflow.com/a/29335121/2615737