【发布时间】:2021-02-10 20:21:12
【问题描述】:
我不熟悉编码和学习 Node/Express,并尝试将 MongoDB 错误处理为用户友好的消息。
我在这里阅读了一篇类似的文章,但它处理的是在查询 MongoDB 之前清理猫鼬模式中的数据。
在 Postman 中,我在故意使用已在使用的用户名(在本例中为“johnsmith”)创建帐户(我正在使用 Mongoose)后收到以下错误。
我想根据错误发回“用户名已存在”或“电子邮件已在使用中”,而不是此错误对象。
是否可以直接使用中间件来实现这一点?
谢谢!
{
// Json error
"driver": true,
"name": "MongoError",
"index": 0,
"code": 11000,
"keyPattern": {
"username": 1
},
"keyValue": {
"username": "johnsmith"
}
}
// Express Code
router.post(`/api/user/create`, async (req, res) => {
console.log(req.body)
const user = await new User(req.body)
try {
await user.save()
const token = await user.generateAuthToken()
res.status(201).send({user, token})
} catch (err) {
res.status(400).send(err)
}
})
【问题讨论】:
标签: javascript mongodb express mongoose middleware