Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法从运行localhost的nodejs应用程序连接到mongodb(mongodb)_Node.js_Mongodb_Heroku - Fatal编程技术网

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上。我刚刚解决了。看看我的回答嘿,我有时还是会犯这个错误。第二个命令不会为我生成任何响应。知道为什么吗?