【问题标题】:Why my mongodb and node js connection is unsuccessful?为什么我的mongodb和node js连接不成功?
【发布时间】:2021-05-31 05:21:12
【问题描述】:

大家好。这是我关于堆栈溢出的第一个问题。

我试图将我的应用程序与 Mongodb 连接。即使我成功连接到服务器,Mongodb 连接也不成功。我也正确设置了 Mongodb 连接 URL。

在这里我更改了猫鼬版本和 IP 地址。但它没有用。

const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const cors = require("cors");
const app =express();
require("dotenv").config();

const PORT = process.env.PORT || 8070;

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

const URL = process.env.MONGODB_URL;

mongoose.connect(URL,{
    useCreateIndex:true,
    useNewUrlParser:true,
    useUnifiedTopology:true,
    useFindAndModify:false,
});

const connection = mongoose.connection;
connection.once("open",() =>{
    console.log("mongodb connection succes!");
})

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

Here is given error

【问题讨论】:

标签: javascript node.js mongodb express


【解决方案1】:

在错误中,提到您没有将您的 IP 地址列入 Atlas 集群的白名单。你需要这样做。您可以查看here 如何将您当前的 IP 地址添加到您的 Atlas 集群的 IP 白名单中。

如果这也不起作用,请尝试更改您的互联网连接。很多时候路由器阻止连接到 27017 端口。因此,转移到您的移动热点或其他连接将起作用。

【讨论】:

  • 哦,我设置了ip地址(把当前的ip地址和ip地址放在任何地方)但是错误来了。抱歉忘记添加了。
  • 现在可以连接了吗?
  • 你添加了哪个IP?
  • 当前 IP 地址...我还添加了 0.0.0.0/0 这个因为它不起作用。
  • 你能分享一下你添加的是哪个IP地址吗?
【解决方案2】:

几天前我也遇到过同样的问题。我不知道为什么会这样,但我可以给你一个技巧。您需要将您的 IP 地址列入白名单,并允许在任何地方访问您的 atlas 集群。这可能会修复错误,因为它修复了我的错误。

【讨论】:

  • 允许在任何地方都会造成安全问题。最佳做法是仅将您想要访问 atlas 的服务器 ip 列入白名单。
  • 是的,这肯定会影响安全性,但出于学习目的,可以做到,但肯定不是在生产级别。
  • 我试过了,但没用....同样的错误。
【解决方案3】:

您需要将您的公共 IP 地址列入白名单,否则将连接向世界 0.0.0.0/0 开放。

enter image description here

【讨论】:

  • 最佳做法是将您的 IP 列入白名单,而不是打开与世界的连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 2015-06-10
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多