を表現し、私はマングースを使用してサインアップフォームを作成したと11000(ユーザーが既に、そのユーザ名で存在する場合には、私はerr.codeを得る3はどのようにマングースに重複したキーから回復+
その可能表現するために重複キー)。既存のユーザーをどのように扱うべきですか?
これは私が今やっているものです....しかし、私は、エラーコードを確認するかわからないが最善の方法です:
user.save(function(err){
if (err) {
console.log(err);
console.log(err.code);
//duplicate key
if (err.code == 11000) {
req.flash('error', 'User already exists');
res.redirect('/signup');
return;
}
}
res.locals.user = user;
req.session.user = user;
//res.locals.session = req.session;
res.redirect('/');
});
は、これを行うのより良い方法はありますか?
はかなりきれいに見えます。特に、あなたにはそれについてかなり気にしないことは何ですか? – JohnnyHK
ちょうど私が最初にユーザをチェックするのではなく、dbにエラーを投げさせるという事実。 – chovy
それは、あなたの状況において、別の解決策を「より良い方法」にするかどうかによって異なります。難しくないようにしようとはしませんが、これが機能的に正確で、パフォーマンスが適切でメンテナンス可能な場合は...? – JohnnyHK