我用
创建文档Subscription.create({ email: req.body.email }, (err, subscription) => {
//
});
我的邮件字段在我的Mongoose架构中是唯一的,因此无法使用相同的电子邮件创建多个文档。
但我不在乎某个电子邮件是否已经存在,所以我现在不想要一个重复的错误。如果电子邮件尚未存在而且如果确实存在则不创建,但如果不告诉用户,我该如何插入?
我认为最佳做法是不告诉用户数据库中是否已存在该电子邮件,因为它可用于测试电子邮件是否与该网站相关联。它似乎没有什么问题,但我仍然认为最好不要因为隐私问题而告诉它。
答案 0 :(得分:0)
在猫鼬中你可以使用预功能。
var schema = new Schema(..);
schema.pre('save', function(next) {
// Check if the mail exists. If it does, just throw an exception
// If not, just create the thing using next.
next();
});
在调用save函数时,应该小心捕获异常。我相信这会做的工作。