我从邮递员向 MongoDB 发送请求时出错

Posted

技术标签:

【中文标题】我从邮递员向 MongoDB 发送请求时出错【英文标题】:error while i send request from postman to MongoDB 【发布时间】:2022-01-23 22:18:50 【问题描述】:

我的后端正在运行并且我已连接到 mongoDB,但是当我从邮递员发送发布请求时出现此错误,我还将我的网络访问权限设置为 0.0.0.0/0(从任何地方)我现在不知道会发生什么导致此错误。

这个错误出现在我的终端中:

错误:连接 ETIMEDOUT 18.194.195.125:27017 在 TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) name: 'MongoNetworkError'

我在邮递员中收到此错误:

500 内部服务器错误

这是我的 api 索引文件:

const express = require("express");
const app = express();
const dotenv = require('dotenv');
const mongoose = require('mongoose')
const authRoute = require("./routes/auth");

dotenv.config();
app.use(express.json());

mongoose.connect(process.env.MONGO_URL, 
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true
  ).then(console.log('Connected to MongoDB'))
    .catch((err) => console.log(err));

    app.use("/api/auth", authRoute);

app.listen("5000", () => 
    console.log("Backend is running.");
  );

这是我的授权文件:

const router = require("express").Router();
const User = require("../models/User");
const bcrypt = require("bcrypt");

//REGISTER
router.post("/register", async (req, res) => 
  try 
    // making password hash
    const salt = await bcrypt.genSalt(10);
    const hashedPass = await bcrypt.hash(req.body.password, salt);
    const newUser = new User(
      username: req.body.username,
      email: req.body.email,
      password: hashedPass,
    );

    const user = await newUser.save();
    res.status(200).json(user);
   catch (err) 
    res.status(500).json(err);
  
);

还有我的用户文件

const mongoose = require("mongoose");
const UserSchema = new mongoose.Schema(
  
    username: 
      type: String,
      required: true,
      unique: true,
    ,
    email: 
      type: String,
      required: true,
      unique: true,
    ,
    password: 
      type: String,
      required: true,
    ,
    profilePic: 
      type: String,
      default: "",
    ,
    ,
   timestamps: true 
);

module.exports = mongoose.model("User", UserSchema);

【问题讨论】:

是您的 mongo 正在从您的外壳或指南针连接。看来您的连接正在超时 【参考方案1】:

检查您的后端是否能够连接到 MongoDB。 如果您在本地运行服务器,请在您的 mongod 终端中查找连接日志并检查您的连接字符串(例如 mongodb://localhost:27017/db)

【讨论】:

以上是关于我从邮递员向 MongoDB 发送请求时出错的主要内容,如果未能解决你的问题,请参考以下文章

从 vuejs 客户端向 oauth/token 发送 POST 请求时的 401 响应

GET 请求在邮递员中有效,但在 Axios 中失败

Vue axios 不向服务器发送标头(django simplejwt)

护照会话不存在

url解码和发布数据后出错

MongoDb:在数组中推送文档时出错