1

ExpressJS API にログイン/登録機能が必要です。したがって、パスワードと電子メールをデータベースに挿入するだけです。この電子メールを持つユーザーがデータベースに既に存在するかどうかをこの関数で最初に確認します。存在する場合は、ユーザーがログに記録されているという応答を送信します。そうでない場合は、彼をデータベースに挿入してください。ここでいくつかのエラーを処理することは可能ですか?

私はすでにそれを持っています:

exports.login = function(req, res){
var email = req.body.email;
var pwd = req.body.pass;

db.collection('users', function(err, collection) {
    collection.insert({login:email, password: pwd}, {safe:true}, function(err, result) {
      res.send("OK");
        });
    });
};\

そして次に何があるか分からない。

4

1 に答える 1

0

最初に、データベースでユーザーを見つけようとすることができます。電子メールは一意であると仮定します。

exports.login = function(req, res){
  var email = req.body.email;
  var pwd = req.body.pass;

  db.collection('users', function(err, collection) {
    if (err) return res.send(500, err);

    collection.findOne({login:email}, function(err, user) {
        // we found a user so respond back accordingly
        if (user) return res.send('user logged in');

        collection.insert({login:email, password: pwd}, {safe:true}, function(err, result) {
          if (err) return res.send(500, err);
          res.send("OK");
        });
    });
  });
};

エラーを処理するときreturnは、呼び出しの前に 's があることに注意してください。res.send

于 2013-11-04T04:36:22.503 に答える