是否有一种方法可以在E11000中设置“MongoDB重复键错误”的自定义错误消息?
(最好使用猫鼬):
userSchema.index({ name: 1, email: 1 }, { unique: true });
发布于 2015-01-09 15:39:35
1)你可以使用猫鼬独特的验证器。
https://www.npmjs.com/package/mongoose-unique-validator。
这使得错误处理更加容易,因为当您试图违反唯一约束时,您将得到一个Mongoose验证错误,而不是来自MongoDB的一个MongoDB错误。
2)在在这个猫鼬唯一的预保存验证中,我做错了什么?中引用也可以在express中使用预保存方法
Schema.pre("save",function(next, done) {
//Here you can search if the record already exists and return custom message.
next();
});
发布于 2017-08-07 18:02:44
您可以使用unique: true
轻松自定义和显示用于mongoose-beautiful-unique-validation
验证错误的错误消息。
要做到这一点,只需使用包猫鼬-美丽-独特-验证
npm install --save mongoose-beautiful-unique-validation
然后,您可以简单地将其用作全局插件(如下面所示)或每个模式。
const beautifyUnique = require('mongoose-beautiful-unique-validation');
mongoose.plugin(beautifyUnique);
要获得完整的洞察和参考,请参阅本评论和自述 on GitHub。
您还可能希望使用包猫鼬.验证.误差变换来显示Mongoose验证错误消息。
发布于 2014-10-20 06:49:34
不是,除非更改MongoDB源代码并使用新的错误消息重新编译它。您可以使用应用程序代码将消息再交换一条以满足您的需要。例如,您可以将索引构建调用包装在一个函数中,如果发生唯一的键约束违反错误,该函数将返回不同的错误消息。
https://stackoverflow.com/questions/26461411
复制相似问题