【发布时间】: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