我对 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 函数。我已经遇到这个问题好几天了,似乎无法解决。
你用过app.use(bodyParser.json());