我是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"
答案 0 :(得分:3)
确保您的数据库已启动并正在运行。 转到您的终端并在您的app目录中运行:
的mongod
然后重新启动节点服务器,你应该好好去
答案 1 :(得分:2)
我还不了解整个过程,但我希望这个答案会提供一些见解:
似乎在不启动数据库的情况下运行node
或npm start
会返回此错误。
如果启动数据库,则更改
mongoose.connect("./DataBase");
(之前导致错误)
到mongoose.connect('mongodb://localhost/database');
解决了这个问题。
直观地说,这似乎只是MongoDB在找不到服务器使用的数据库时返回的错误,但这可能不是问题的准确描述。
如果有人能够进一步了解问题,我们将不胜感激。
答案 2 :(得分:0)
我将连接字符串从mongodb:// localhost:27017 /更改为mongodb://127.0.0.1:27017 /并且有效。