req.body 在 Mongo 数据库中不起作用

问题描述 投票:0回答:1

我对 Mongo 和 Stackoverflow 都很陌生,我有一个非常基本的问题,我在网上找不到它。 我正在尝试使用 index.js 文件中的以下代码查询 Mongo 数据库:

app.post('/users', async (req, res) => {
    await Users.findOne({ Username: req.body.Username })
        .then((user) => {
            if (user) {
                return res.status(400).send(req.body.Username + 'already exists');
            } else {
                Users
                    .create({
                        Username: req.body.Username,
                        Password: req.body.Password,
                        Email: req.body.Email,
                        Birthday: req.body.Birthday
                    })
                    .then((user) => {res.status(201).json(user) })
                .catch((error) => {
                    console.error(error);
                    res.status(500).send('Error' + error);
                })
            }
        })
        .catch((error) => {
            console.error(error);
            res.status(500).send('Error' + error);
        });
});

这应该允许我根据 models.js 文件中的以下架构创建一个新的“用户”:

let userSchema = mongoose.Schema({
    Username: {type: String, required: true},
    Password: {type: String, required: true},
    Email: {type: String, required: true},
    Birthday: Date,
    FavoriteMovies: [{type: mongoose.Schema.Types.ObjectId, ref: 'Movies'}]
});

但是,尝试在 Postman 中查询此内容会使我的服务器崩溃并显示以下错误(req.body.Username 的用户名部分未定义): 终端错误

每当我尝试使用 req.body.Username 时,它都会崩溃并提示用户名未定义。但是,Users 模型中的所有用户都有用户名;另外,正常使用 req.params.Username 函数。我已经遇到这个问题好几天了,似乎无法解决。

javascript mongodb mongoose
1个回答
0
投票

你用过app.use(bodyParser.json());

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.