MongoDB:\ lib \ server.js:235 process.nextTick getaddrinfo ENOTFOUND错误

时间:2015-12-11 21:20:45

标签: mongodb

我是NodeJS的初学者,当我在控制台中运行node MainApp.js时出现此错误:

C:\Assigment 2 (NodeJS)\node_modules\mongodb\lib\server.js:235
        process.nextTick(function() { throw err; })
                                      ^
 Error: getaddrinfo ENOTFOUND . .:27017
    at errnoException (dns.js:26:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)

我不知道这意味着什么。在MainApp内部我连接mongoose:mongoose.connect("./DataBase");其中DataBase是我运行mongod --dbpath "C:\[...]\DataBase的文件夹。数据库服务器似乎成功启动,控制台打印:[...] waiting for connections on port 27017

server.js第231-236行:

// Try to callback
      try {
        callback(err);
      } catch(err) {
        process.nextTick(function() { throw err; })
      }

包装版本:     "表达":" ~4.13.1",     " mongodb":" ~2.1.0",     " mongoose":" ~4.3.1"

3 个答案:

答案 0 :(得分:3)

确保您的数据库已启动并正在运行。 转到您的终端并在您的app目录中运行:

  

的mongod

然后重新启动节点服务器,你应该好好去

答案 1 :(得分:2)

我还不了解整个过程,但我希望这个答案会提供一些见解:

似乎在不启动数据库的情况下运行nodenpm start 会返回此错误。

如果启动数据库,则更改 mongoose.connect("./DataBase");(之前导致错误) 到mongoose.connect('mongodb://localhost/database');解决了这个问题。

直观地说,这似乎只是MongoDB在找不到服务器使用的数据库时返回的错误,但这可能不是问题的准确描述。

如果有人能够进一步了解问题,我们将不胜感激。

答案 2 :(得分:0)

我将连接字符串从mongodb:// localhost:27017 /更改为mongodb://127.0.0.1:27017 /并且有效。