关于ZAKER 融媒体解决方案 合作 加入

node.js- 无法从运行 localhost 的 nodejs 应用连接到 mongodb ( mongolab )

CocoaChina 11-13

我正在尝试使用以下代码进行连接 .

我正在本地运行 nodejs 应用程序 , 无法使用 MongoDb 本机驱动程序连接到 MongoLab 数据库 .

大约 30 秒后 , 错误返回:

{" 名称 ":" MongoError"," 消息 ":" 列表中没有有效的种子服务器 "}

我应该在其他地方声明其他内容吗?我想念什么?

当我在 Heroku 上运行它时 , 它就可以正常连接 .

另外 , 当我从终端 ( 外壳 ) 运行它时 , 它连接得很好 .

var MongoClient = require ( 'mongodb' ) .MongoClient; var util = require ( 'util' ) ; var assert = require ( 'assert' ) ; var auth = { user: 'root', pass: 'blabla', host: 'blabla.mongolab.com', port: 63879, name: 'heroku_blabla' }; // Connection URL var url = util.format ( 'mongodb://%s:%s@%s:%d/%s', auth.user, auth.pass, auth.host, auth.port, auth.name ) ; // Use connect method to connect to the Server MongoClient.connect ( url, function ( err, db ) { assert.equal ( null, err ) ; console.log ( "Connected correctly to server" ) ; db.close ( ) ; } ) ;

最佳答案

我解决了 , 但是我不知道是什么原因引起的 .

我怀疑这是 DNS 问题 .

所以我去了码头 , 然后第一次跑步:

ping ds00000.mongolab.com

( 将 00000 更改为 MongoLab 数据库的端口 )

检查主机 .

然后我运行:nc -w 3 -v ds000000.mongolab.com 000000

最后 , 如果这两个成功 , 则说明端口没有问题 .

因此 , 然后使用 mongoLab 中该主机名的 IP 更改了代码中的主机名 , 这解决了出现的错误 .

注意:mongoLab 数据库主机的 IP 显示在终端的第二个命令的响应中 .

以上内容由"CocoaChina"上传发布 查看原文
相关标签 数据库mongodb终端