2017-11-20 12 views
0

私のノード/ express/mongoセットアップでユーザー作成時にタイトルにエラーが表示され続けます。キャッチ例外:TypeError:未定義のプロパティ 'complete'を読み取ることができません

app.post("/api/user", function(req, res) { 

     if (req.session.user) 
     { 
      res.send(409, "You are connected, you can't create an account"); 
      return false; 
     } 

     var email = req.param('email'); 
     var password = req.param('password'); 
     if (!email || !password || email.length < 3 || password.length < 3 || !email.match(config.emailRegex)) 
     { 
      res.send(400, "Please provide a correct email and a correct password"); 
      return false; 
     } 
     database.user.create(email, password, function (user, err) { 
      if (err) 
      { 
       console.log("[error] user %s already exist", email); 
       res.send(409, "This user already exist"); 
       return false; 
      } 
      console.log("[info ] Creating new user %s", email); 
      req.session.user = user.emitted.complete[0]; 
      res.send("User created"); 
     }); 
    }); 

私は問題はreq.session.user = user.emitted.complete[0];であると思いますが、私はこれまで新しめだから、私が試したものを持つ任意の運を持っていなかった。ここで

はスローコードです。

アイデア?

+0

のために予約されています。おそらく、エミュレートされたキーにはcompleteという配列はありません。 – itsundefined

答えて

0

は、フェイルセーフのコードを追加します。

if(user && user.emitted && user.emitted.complete){ 
    req.session.user = user.emitted.complete[0]; 
} 
+0

これは、ありがとう!私はまた、ユーザーのデバッグに少し時間を費やします。 –

0

は、コールバックの引数では問題のように思えます。 コールバック関数の第1引数は、ちょうどreq.session.userコマンドの上にconsole.log(ユーザ)のようないくつかの基本的なデバッグを試しエラーオブジェクト

database.user.create(email, password, function (err, user) { 
    //rest of your code will go here..!!! 
}) 
関連する問題