我已经创建了许多错误处理程序来处理MongoDB错误,其中一个是用于处理重复数据的:
const dbDuplicateKeyHandler = (error) => {
console.log(error);
console.log(error.keyPattern.name);
// const message = `Duplicated field value: (${error.keyValue.name}) Please use another value .`;
return new AppError(400, `Duplicated field value: (${error.keyValue.name}) Please use another value .`);
问题是,当我试图插入一个重复的用户名时,错误消息会按照我希望的那样打印出来,但如果我try 使用一个新的用户名但重复的邮箱,error.keyValue.name
将是undefined
.当我构建API时,处理程序在Postman中工作正常.我还搜索了解释MongoDB错误的文档,但没有找到任何错误.
我在控制台上记录了这两种情况下的错误
console.log("THE ERROR IS ==>",error);
console.log("error.keyPattern.name IS ==> ",error.keyPattern.name);
console.log("error.keyValue.name IS ==> ",error.keyValue.name);
对于重复的用户名:
对于重复的邮箱: