我试图创建一个新用户,但是数据没有保存在MongoDB Atlas中。我的服务器成功连接到MongoDB Atlas,并且它还从Insomnia中的JSON文件中获取数据。
下面是auth.js文件
import mongoose from "mongoose"
import User from "../models/User.js"
import bcrypt from "bcryptjs"
export const signup = async (req, res) => {
console.log(req.body)
try {
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync(req.body.password, salt);
const newUser = new User({ ...req.body, password: hash});
await newUser.save();
res.status(200).send("User has been created!")
} catch(err) {
// todo
}
}
下面是index.js文件
import express from "express";
import mongoose from "mongoose";
import dotenv from "dotenv";
import userRoutes from "./routes/users.js";
import videoRoutes from "./routes/videos.js";
import commentRoutes from "./routes/comments.js";
import authRoutes from "./routes/auth.js"
const app = express()
dotenv.config()
const connect = () => {
mongoose
.connect(process.env.MONGO)
.then(() => {
console.log("Connected to DB")
})
.catch((err) => {
throw err;
});
};
app.use(express.json())
app.use("/api/auth", authRoutes)
app.use("/api/users", userRoutes)
app.use("/api/videos", videoRoutes)
app.use("/api/comments", commentRoutes)
app.listen(8800, ()=> {
connect()
console.log("Connected to Server")
})
老实说,我看不出我的代码有任何错误,但它也不工作。有没有人可以友好地帮助我的问题?
1条答案
按热度按时间mo49yndu1#
哦,我刚刚解决了它。这只是一个愚蠢的错误,我试图创建一个新的用户已经存在于我的数据库。因此,我无法获取任何东西的原因。