根据mongoose的文档,您可以像下面这样在模式中设置自定义错误消息:
var breakfastSchema = new Schema({
eggs: {
type: Number,
min: [6, 'Too few eggs'],
max: 12
},
bacon: {
type: Number,
required: [true, 'Why no bacon?']
}
});
所以我想做类似的事情:var emailVerificationTokenSchema = mongoose.Schema({
email: {type: String, required: true, unique: [true, "email must be unique"]},
token: {type: String, required: true},
createdAt: {type: Date, required: true, default: Date.now, expires: '4h'}
});
这个想法是,当你尝试保存其中一个令牌时,如果已经存在冲突的令牌,它将会弹出一个错误消息,上面写着“电子邮件必须唯一”。
然而,当我执行像这样的操作(保存具有相同电子邮件的令牌)时:
verificationToken.save( function (err) {
if (err) {
return console.log(err);
}
else {
return console.log(err);
}
});
我一直得到这个:'E11000 duplicate key error: index ___.emailVerificationToken.$email_1 dup key: { : "_____@wdad.com
有什么想法吗?自定义信息不支持唯一参数吗?这是可行的处理方式吗?
Model.deleteMany()
和Query.prototype.deleteMany()
。 - MediModel.deleteMany
创建(并返回)一个Query
实例,然后在该实例上调用Query.prototype.deleteMany
。该查询实例表示“删除多个”操作。 - robertklep