Node.js 无法从运行localhost的nodejs应用程序连接到mongodb(mongodb)
我正在尝试使用以下代码进行连接。Node.js 无法从运行localhost的nodejs应用程序连接到mongodb(mongodb),node.js,mongodb,heroku,Node.js,Mongodb,Heroku,我正在尝试使用以下代码进行连接。 我正在本地运行nodejs应用程序,无法使用MongoDb本机驱动程序连接到MongoDb。 大约30秒后,返回的错误显示: {“名称”:“MongoError”,“消息”:“列表中没有有效的种子服务器”} 我应该在别的地方申报吗?我错过了什么? 当我在Heroku上实时运行它时,它的连接很好。 另外,当我从终端(外壳)运行它时,它连接得很好 var MongoClient = require('mongodb').MongoClient; var
我正在本地运行nodejs应用程序,无法使用MongoDb本机驱动程序连接到MongoDb。
大约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更改为您的蒙古AB DB的端口)
检查主机
然后我运行:nc-w3-vs000000.mongolab.com 000000
最后,如果这两个都成功了,那么端口就没有问题了。
因此,我用mongoLab中该主机名的IP更改了代码中的主机名,从而解决了出现的错误
注意:mongodb主机的IP显示在您终端中第二个命令的响应中。您是否在mongodb服务器上打开了身份验证?mongodb服务器在mongodb上。我刚刚解决了。看看我的回答嘿,我有时还是会犯这个错误。第二个命令不会为我生成任何响应。知道为什么吗?