Javascript mongodb+;mongoose MongooseServerSelectionError

Javascript mongodb+;mongoose MongooseServerSelectionError,javascript,node.js,mongodb,npm,mongoose,Javascript,Node.js,Mongodb,Npm,Mongoose,我正在尝试将我的第一个mongo db应用程序连接到服务器: const express = require('express'); const mongoose = require('mongoose'); const app = express(); const URI = ""; mongoose .connect(URI,{useUnifiedTopology:true,useNewUrlParser:true}) .then((res)=>{

我正在尝试将我的第一个mongo db应用程序连接到服务器:

const express = require('express');
const mongoose = require('mongoose');

const app = express();

const URI = "";

mongoose
    .connect(URI,{useUnifiedTopology:true,useNewUrlParser:true})
    .then((res)=>{
        console.log(res);
        console.log(res.data);
    })
    .catch((err)=>{
        console.log("Encountered error...");
        console.log("error : "+err);
    });

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

console.log('App is listening on port ' + port);
但它给了我一个错误:MongooseServerSelectionError:连接到35.223.140.90:27017的连接已关闭


我已将我的IP地址列为白名单。

您需要将ATLAS上的IP地址列为白名单

  • 转到网络访问面板
  • 单击添加IP地址
  • 添加0.0.0.0/0(允许所有IP)
  • 拯救

  • 这仅用于开发,对于prod,您可以添加服务器ip。

    您需要在ATLAS上列出ip地址的白名单

  • 转到网络访问面板
  • 单击添加IP地址
  • 添加0.0.0.0/0(允许所有IP)
  • 拯救

  • 这仅用于开发,对于prod,您可以添加服务器ip。

    您的app.js
    app.use(cors())
    中是否有这一行

    尝试删除此行并删除所有涉及cors的内容


    如果这不起作用,请检查MongoDB Atlas中网络访问内部的IP白名单,添加当前IP或写入此0.0.0.0/0以允许所有IP。

    您的app.js
    app.use(cors())

    尝试删除此行并删除所有涉及cors的内容


    如果这不起作用,请在MongoDB Atlas的网络访问中检查您的IP白名单,并添加您当前的IP,或者写入此0.0.0.0/0以允许所有IP。

    谢谢,但为什么此0.0.0.0/0有效,我可以知道原因吗?它允许所有IP地址连接,这就是为什么更安全的方法是将您自己的IP白名单。谢谢,但为什么这个0.0.0.0/0可以工作,我可以知道原因吗?它允许所有IP地址连接,这就是为什么更安全的方法是将您自己的IP列入白名单。