我正在尝试使用以下代码进行连接
我在本地运行nodejs应用程序,我无法使用MongoDb Native Driver连接到MongoLab数据库。
大约30秒后,错误返回说:
{&#34; name&#34;:&#34; MongoError&#34;,&#34; message&#34;:&#34;列表中没有有效的种子服务器&#34;} < / p>
我应该在某处宣布其他内容吗?我错过了什么?
当我在Heroku上实时运行它连接就好了。
此外,当我从终端(shell)运行它时它连接得很好。
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();
});
答案 0 :(得分:4)
我解决了,但我不知道是什么原因引起了这个问题 我怀疑这是一个DNS问题。
所以我去了终点站并开始运行:
ping ds00000.mongolab.com
(将00000更改为MongoLab DB的端口)
检查主持人。
然后我跑:nc -w 3 -v ds000000.mongolab.com 000000
最后,如果这两个成功,那么端口不是问题。
那么,我使用mongoLab中该主机名的IP 更改了我的代码中的主机名,这解决了出现的错误。
注意:mongoLab数据库主机的IP出现在终端的第二个命令的响应中。