Node.js 为什么可以';我不能使用节点js连接mongodb吗?

Node.js 为什么可以';我不能使用节点js连接mongodb吗?,node.js,mongodb,Node.js,Mongodb,我已经启动了mongodb服务器,该软件实际上可以连接它。 我的节点js代码是 mongoose.connect("mongodb://localhost:27017/chat", { useNewUrlParser: true }).catch(err => console.log(err)); 它给了我一个错误 MongoNetworkError: failed to connect to server [localhost:27017] on first c

我已经启动了mongodb服务器,该软件实际上可以连接它。


我的节点js代码是

mongoose.connect("mongodb://localhost:27017/chat", { useNewUrlParser: true }).catch(err => console.log(err));
它给了我一个错误

MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connection 0 to localhost:27017 closed
    at Socket.<anonymous> (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connection.js:439:9)
    at Object.onceWrapper (events.js:422:26)
    at Socket.emit (events.js:315:20)
    at TCP.<anonymous> (net.js:673:12)]
    at Pool.<anonymous> (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\topologies\server.js:438:11)
    at Pool.emit (events.js:315:20)
    at D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\pool.js:562:14
    at D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\pool.js:995:11
    at callback (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connect.js:75:5)
    at D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connect.js:101:9
    at _callback (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connection.js:328:7)
    at Connection.errorHandler (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connection.js:343:7)
    at Object.onceWrapper (events.js:422:26)
    at Connection.emit (events.js:315:20)
    at Socket.<anonymous> (D:\Web开发\fake-chatroom\server\node_modules\mongodb\lib\core\connection\connection.js:437:12)
    at Object.onceWrapper (events.js:422:26)
    at Socket.emit (events.js:315:20)
    at TCP.<anonymous> (net.js:673:12)
MongoNetworkError:第一次连接时无法连接到服务器[localhost:27017]。[MongoNetworkError:到localhost:27017的连接0已关闭
在套接字处。(D:\Web)开发\假聊天室\server\node\u modules\mongodb\lib\core\connection\connection.js:439:9)
在Object.onceWrapper(events.js:422:26)
在Socket.emit(events.js:315:20)
在TCP。(net.js:673:12)]
在游泳池。(D:\Web开发\伪造聊天室\server\node\u modules\mongodb\lib\core\topologies\server.js:438:11)
在Pool.emit(events.js:315:20)
在D:\Web开发\伪造聊天室\server\node\u modules\mongodb\lib\core\connection\pool.js:562:14
在D:\Web开发\伪造聊天室\server\node\u modules\mongodb\lib\core\connection\pool.js:995:11
在回调时(D:\Web)开发\假聊天室\server\node\u modules\mongodb\lib\core\connection\connect.js:75:5)
在D:\Web开发\伪造聊天室\server\node\u modules\mongodb\lib\core\connection\connect.js:101:9
在\u回调(D:\Web开发\假聊天室\server\node\u modules\mongodb\lib\core\connection\connection.js:328:7)
在Connection.errorHandler(D:\Web开发\假聊天室\server\node\u modules\mongodb\lib\core\connection\connection.js:343:7)
在Object.onceWrapper(events.js:422:26)
在Connection.emit(events.js:315:20)
在插座上。(D:\Web开发\假聊天室\server\node\u modules\mongodb\lib\core\connection\connection.js:437:12)
在Object.onceWrapper(events.js:422:26)
在Socket.emit(events.js:315:20)
在TCP。(net.js:673:12)

从您发布的图像中,mongodb正在默认端口27017上监听。您的代码试图打开到端口28019的连接,这是错误的原因

在代码中使用默认端口号:

mongoose.connect("mongodb://localhost:27017/chat", { useNewUrlParser: true }).catch(err => console.log(err));

MongoDB的默认端口是27017,28019来自哪里?对不起,我的问题给出了错误的代码。我已更正,但错误仍然存在。更改连接字符串后是否重新启动服务器?是的,我的数据库已于27017打开。我可以在我的软件中连接它,但在NodeJS中它出错了。将
localhost
更改为
127.0.0.1
会改变什么吗?对不起,我的问题给出了错误的代码。我已经改正了,但错误仍然存在。