Postman 套接字挂断无法连接到 Mongodb

Posted

技术标签:

【中文标题】Postman 套接字挂断无法连接到 Mongodb【英文标题】:Postman socket hang up could not connect to Mongodb 【发布时间】:2020-12-19 02:06:57 【问题描述】:

我是编程新手。我已连接 MongoDB Atlas,需要使用 POSTMAN 保存一个对象。

但我得到这个消息套接字挂断。我尝试了使用代理选项的所有可能。

请注意,我的新数据库中没有保存任何内容。除了用户名和密码,我按原样保留 dbname。虽然它会在连接时创建一个名为“dbname”的数据库。也不知道在这里做什么。

DB_CONNECT=mongodb+srv://username:@cluster0.uxjdg.mongodb.net/?retryWrites=true&w=majority

这里是详细信息

索引.js

const express=require('express');
const app =express();
const mongoose=require('mongoose');
const dotenv=require('dotenv');
const bodyParser=require('body-parser');

dotenv.config();

//Connect to DB
mongoose.connect('process.env.DB_CONNECT',
// useUnifiedTopology: true ,
 useNewUrlParser: true ,

()=>console.log('connect to db'));

//Middleware
app.use(express.json());

//Import Routes

const authRoute=require('./routes/auth');

//Route Middlewares

app.use('/api/user', authRoute);

app.listen(3000, ()=>console.log('Server up and Running'));

路由器

const router=require('express').Router();

const User=require('../model/User');

router.post('/register', async(req, res)=>

    const user =new User(
        name:req.body.name,
        email:req.body.email,
        password:req.body.password
    );

    try
     const savedUser=await user.save();
     res.send(savedUser);

    catch(err)
        res.status(400).send(err);
    
);



module.exports=router;

架构


const mongoose=require('mongoose');

const userSchema =new mongoose.Schema(
  name:

    type:String,
    required:true,
    min:6,
  ,
  email:

    type:String,
    required:true,
    max:255,
    min:6
  ,

  password:

    type:String,
    required:true,
    max:1024,
    min:6
  ,

  date:

    type:Date,
    default:Date.now
  

);

module.exports=mongoose.model('User', userSchema);

【问题讨论】:

我们能看到错误的全文吗? Joe,这是唯一挂断的消息套接字。这是我将标题的内容长度保持打开的时候,否则它会给出 400 语法错误。我检查了代码并粘贴在这里,对我来说似乎没问题 如果回调不是异步的,它的行为是否相同? Joe 没有异步。这就是我得到的: 错误:CORS 请求被拒绝:localhost:3000/api/user/register 【参考方案1】:

我遇到了和你一样的问题,所以我想我会分享我为解决这个问题而采取的步骤:

返回您的 MongoDB 项目文件夹 删除当前集群并创建一个新集群 您显然必须重新配置数据库访问权限。 我不确定这是否有必要,但我暂时将网络访问设置为“允许从任何地方访问” 重新连接到您的集群,即更新您的 DB_CONNECT URL,除非您使用相同的 PW。 也重新启动您的节点。

哎呀!我希望这有帮助。编码愉快!

【讨论】:

以上是关于Postman 套接字挂断无法连接到 Mongodb的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到EC2上的MongoDB

PEAR Mail 无法连接到 Gmail SMTP,无法连接到套接字

initctl:无法连接到 Upstart:无法连接到套接字 /com/ubuntu/upstart:连接被拒绝

initctl:无法连接到 Upstart:无法连接到套接字 /com/ubuntu/upstart:docker 映像中的连接被拒绝

无法连接到 Mysql 套接字

高级 Restclient 套接字实现无法连接到 Spring Websocket