0
私はマングースに挿入する前に重複を処理するための最良の場所がどこにあるかを調べようとしています。マングースで重複を扱う場所
const UserSchema = new Schema({
username: String,
email: String,
password: String,
});
const User = mongoose.model('User', UserSchema);
UserSchema.pre('save', async function (next) {
try {
const doc = await User.findOne({ email: this.email }).exec();
if (doc) {
throw new Error('Email already used');
}
next();
} catch (err) {
next(err);
}
});
問題は、たとえばユーザー名を更新するときです。
async function updateUsername(id, username) {
try {
const doc = await User.findOne({ _id: id }).exec();
if (docs) {
doc.username = username;
await docs.save();
} else {
throw {
msg: 'Does not exist'
};
}
} catch (err) {
throw err;
}
}
これはプレフックを発生させ、電子メールはすでに存在します。エラーです。 これを間違った場所で処理していると思います...ありがとうございます!
は、私が前にこれをやってみましたが、私はすべてのエラーを持っていますが、今それを持っイムdidntは、ありがとうございます。ありがとう! –