我知道这是一个讨论的方式,几乎经历了我在SO和谷歌总体上发现的所有主题,但仍然没有解决方案!Mongo在第一次连接时无法连接到服务器
问题
在时间随机点,下面的错误发生
MongoError: failed to connect to server [127.0.0.1:20000] on first connect
at Pool.<anonymous> (/home/user/node_modules/mongodb-core/lib/topologies/server.js:326:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:189:7)
at Connection.<anonymous> (/home/user/node_modules/mongodb-core/lib/connection/pool.js:270:12)
at Object.onceWrapper (events.js:291:19)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:192:7)
at Socket.<anonymous> (/home/user/node_modules/mongodb-core/lib/connection/connection.js:185:10)
at Object.onceWrapper (events.js:291:19)
at emitNone (events.js:86:13)
溶液
杀死该应用程序,重新启动mongod
服务(所以.lock文件被删除)并重新启动应用程序。现在一切运行顺利。显然这不是一个可以接受的解决方案!
环境和
应用程序使用写的事实:
- ExpressJS框架(4.15.2版本)
- MongoJS驱动程序(2.4.0版本)
- 的NodeJS (版本7.7.3)
- MongoDB(版本3.4.2)
服务器是使用完全一样的文档中描述的推荐.rpm
方法运行的Centos 7.
安装MongoDB的一个VPS(OpenVZ的)。
即使应用程序崩溃并出现上述错误,我可以通过shell连接并发出查询。
日志中没有关于该错误或可能导致错误的内容。唯一的启动警告是关于使用xfs而不是ext4以及关于使用MongoDB和OpenVZ。
对mongod.conf进行的唯一配置更改是侦听端口和启用授权。
与mongojs使用的连接字符串是以下
var mongojs = require('mongojs');
var db = mongojs('mongodb://username:[email protected]:20000/database')
求救声时刻
请家伙!帮助我......这真的很烦人,并且无法确定它是否是我,驱动程序或设置会让这件事变得糟糕!
在此先感谢
UPDATE
删除的数据库打包版本,并进行手动安装,但还是没有结果!错误仍然存在...
你考虑过使用猫鼬吗? –
试过了。同样的错误...甚至尝试过官方的mongo节点驱动程序,但无济于事。 –
没有用户名和密码呢?我相信你的字符串中有东西 –