電子メールが送信されたか、コードが間違っているか、または両方がノードで間違っているかどうかを確認しようとしています。これは、これまでの私のコードです:電子メールが取得されていることを確認し、登録時にコードが正しいことを確認してください
app.post('/auth/signup', function (req, res) {
var code = Access.findOne({ accesscode: 'secretpassword' }, { _id: 0, accesscode: 1 }, function (err, data) {
console.log(data);
});
User.findOne({ email: req.body.email }, function (err, existingUser) {
if (existingUser) {
return res.status(409).send({ message: 'Email is already taken' });
}
else if (code != req.body.access) {
return res.status(400).send({ message: 'Access code is wrong' });
}else {
var user = new User({
displayName: req.body.displayName,
email: req.body.email,
password: req.body.password,
isAdmin: false,
});
}
user.save(function(err, result) {
if (err) {
res.status(500).send({ message: err.message });
}
res.send({ token: createJWT(result) });
});
});
});
私はサインアップフォームからreq.body.accessがアクセスマングーススキーマにaccesscodeフィールドと等しいかどうかを確認しようとしています。
mongooseを使用してクエリを実行するときに、「secretpassword」を取得するにはどうすればよいですか?現在、{accesscode: 'secretpassword'}を取得しています。
if/else-ifは正しいですか?
編集:
私はそれを修正することができました。それがコードにaccesscode値を格納し、我々は他の機能でそれを使用し続けることができ
var code;
Access.findOne({ accesscode: 'secretpassword' }, { _id: 0, accesscode: 1 }, function (err, data) {
code = data.accesscode;
});
この方法:代わりにVARコードにそれを設定するので
= Access.findOneは、私はこのようにそれをやりました。
問題のコードはトークンではなく、アクセススキーマの「アクセスコード」です。 'accesscode'の内容が申し込みフォームから来るreq.body.accessと等しいかどうかを確認したいが、私はその部分が機能しているとは思わないので、最初の質問です。 – KujAslani