UnhandledPromiseRejectionWarning: TypeError: 无法读取未定义的属性“电子邮件”

时间:2021-07-13 18:39:01

标签: javascript node.js

我被这个问题困住了

<块引用>

UnhandledPromiseRejectionWarning:类型错误:无法读取属性 未定义的“电子邮件”

我尝试了很多解决方案,但没有任何改变。我被邮递员试过,结果是 status(400) 错误的请求。 当我用迅雷客户端尝试时没有出现任何答案

app.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const morgan = require("morgan");
const bodyParser = require("body-parser");
const expressValidator = require("express-validator");
const dotenv = require("dotenv");

dotenv.config();

// db
// MONGO_URI=mongodb://localhost/nodeapi

mongoose
  .connect(process.env.MONGO_URI, {
    useUnifiedTopology: true,
    useNewUrlParser: true,
  })
  .then(() => console.log("DB connected"));

mongoose.connection.on("err", (err) => {
  console.log(`DB connection error: ${err.message}`);
});

// bring routes
const postRoutes = require("./routes/post");
const authRoutes = require("./routes/auth");

// middleware

app.use(
  express.urlencoded({
    extended: true,
  })
);
app.use(express.json());
app.use(expressValidator());
app.use(morgan("dev"));
app.use("/", postRoutes);
app.use("/", authRoutes);

const port = process.env.PORT || 8080;
app.listen(port, () => {
  console.log(`A calling app from ${port}`);
});

auth.js

const User = require("../models/user");

exports.signup = async (res, req) => {
  const userExist = await User.findOne({ email: req.body.email });
  if (userExist) {
    return res.status(403).json({
      error: "Email is taken!",
    });
  } else {
    const user = await new User(req.body);
    await user.save();
    res.status(200).json({ message: "Signup success!, please login" });
  }
};

0 个答案:

没有答案