当前位置: 首页 > 知识库问答 >
问题:

与Mongodb的连接被拒绝

杜霍英
2023-03-14

我对React和Node还不熟悉,尽管我的代码有几天没有出现错误,但今天我的终端出现了错误,我无法连接到我的mongo数据库。我使用节点服务器运行服务器。js命令,但我得到了错误。有人能帮我找到解决办法吗?谢谢

错误

服务器正在端口5000上运行(节点:3339)DeprecationWarning:当前的服务器发现和监控引擎已弃用,并将在未来的版本中删除。要使用新的服务器发现和监控引擎,请将选项{useUnifiedTopology: true}传递给MongoClient构造函数。(节点:3339)UnhandledPromiseRejection警告:MongoNetworkError:在第一次连接时未能连接到服务器[cluster0-shard-00-00-z8g0w.mongodb.net:27017][MongoNetworkError:连接4到cluster0-shard-00-00-z8g0w.mongodb.net:27017在TLSSocket关闭。(/用户/petka/桌面/react-配方新/node_modules/mongob/lib/core/连接/connection.js:372: 9)在Object.onceWrapper(events.js:300: 26)在TLSSocket.emit(events.js:210: 5)在net.js:659: 12在TCP. do(tls_wrap.js:481: 7){name:'MongoNetworkError',}]at Pool。(/用户/petka/桌面/react-食谱new/node_modules/mongodb/lib/core/拓扑/server.js:433: 11)在Pool.emit(events.js:210: 5)在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/pool.js:577: 14在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/pool.js:1021: 9在回调(/用户/petka/桌面/react-食谱new/node_modules/mongodb/lib/core/连接/connect.js:93: 5)在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connect.js:113: 7在_callback(/用户/petka/桌面/react-食谱new/node_modules/mongodb/lib/core/连接/connect.js:320: 5)在Connection.error处理程序(/用户/petka/桌面/react-食谱new/node_modules/mongob/lib/core/连接/connect.js:336: 5)在Object.once包装(events.js:300: 26)在Connection.emit(events.js:210: 5)在TLSSocket。在Object.onceWrapper(events.js:300: 26)at TLSSocket.emit(events.js:210: 5)atnet.js:659: 12 at TCP. do(_tls_wrap.js:481: 7)(node: 3339)UnhandledPromiseRejection警告:未处理的promise拒绝。此错误是由于抛出没有catch块的异步函数,或者拒绝未使用. catch()处理的promise。(拒绝id: 1)(node: 3339)[DEP0018]DeprecationWarning:未处理的promise拒绝已弃用。将来,未处理的promise拒绝将使用非零退出代码终止Node.js进程。

server.js

const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
const http = require('http');
const socketIO = require('socket.io');

const app = express();
const port = process.env.PORT || 5000;

app.use(cors());
app.use(express.json());

const server = http.createServer(app)

//create the socket using the service instance
const io = socketIO(server)

io.on('connection', socket => {
    console.log('New user connected.')

    socket.on('infoEvent', (information) => {
        console.log(`Information received: ${information}`)
        io.sockets.emit('infoEvent', information)
    })

    socket.on('disconnect', () => {
        console.log('User disconnected')
    })
})


require('dotenv').config();


const uri = process.env.ATLAS_URI;
mongoose.connect(uri, { useNewUrlParser:true, useCreateIndex:true});
const connection = mongoose.connection;
//when the connection is open
connection.once('open', () => {
  console.log("MongoDB connection established successfully")
})
const userrecipesRouter = require('./routes/userrecipes');
const usersRouter = require('./routes/users');

//require and use the files route
app.use('/userrecipes', userrecipesRouter);
app.use('/users', usersRouter);

app.listen(port, () => {
    console.log(`Server is running on port ${port}`);
});

共有1个答案

乌和畅
2023-03-14

尝试这样连接:

mongoose.connect(
    uri, 
    { 
        useNewUrlParser:true, 
        useCreateIndex:true, 
        useUnifiedTopology: true //add this option
    }
);
 类似资料:
  • 问题内容: 我有一台运行Ubuntu 12.04 LTS和MongoDB实例(服务正在运行并且可以在本地连接)的Linode服务器,我无法从外部来源连接到该服务器。 我已经将这两个规则添加到我的IP表中,其中 是我要连接FROM的服务器(如本 MongoDB参考中所述): 而且我在IP表中看到了一条规则,该规则允许27017与 之间的连接,但是当我尝试使用以下命令从 连接到我的mongo数据库时:

  • 它感觉到,在提供时,他将127.0.0.1关联为不可达。 提前谢谢你。:)

  • postgres-db 2021-02-23 22:46:3.410 UTC[1]日志:数据库系统已准备好接受连接 .环境: Docker-compose: 日志: app_1 22:46:31.020[error]GenServer#PID<0.368.0>终止app_1**(dbconnection.connectionerror)tcp连接(postgres-DB:5433):连接拒绝-:e

  • 我有2个实例,它们都在上。这两个实例都与同一VPC的2个子网相关联。我的应用程序安装在与弹性IP相关联的一个实例(16.0.2.114)上,而安装在另一个实例(16.0.4.117)上。 我试图实现的是,我希望16.0.2.114上的应用程序连接到16.0.4.117上的MongoDB,但我得到了以下异常: org.mongodb.driver.cluster-76:连接到服务器16.0.2.11

  • 问题内容: 我是 HBase 和 Hadoop的 新手。我已经完全设置了HBase并完美启动。现在,当我尝试使用Java客户端从 p1 连接到HBase(HBase安装在 p2上 )时,它抛出了一个奇怪的异常。 问题答案: 我找到了解决方案。 通过仅从我的 主机中 删除 localhost 条目。现在我的本地主机条目就像 192.169.19.50 [这是我的hbase IP] =本地主机,而不是

  • 问题内容: 我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,出现以下错误: 我尝试更改套接字号以防万一,但无济于事,有谁知道导致此错误的原因和解决方法。 服务器代码: 客户代码: 问题答案: 此异常意味着你尝试连接的IP /端口上没有侦听服务: 你试图连接到错误的IP /主机或端口。 你尚未启动服务器。 你的服务器没有监听连接。 在Windows服务器上,