【问题标题】:error while i send request from postman to MongoDB我从邮递员向 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 正在从您的外壳或指南针连接。看来您的连接正在超时

标签: node.js mongodb api express postman


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-01-06
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2021-11-07
    • 2020-12-11
    • 1970-01-01
    • 2018-05-30
    相关资源
    最近更新 更多