2017-10-30 19 views
0

イム私は、ユーザーが作成した後、セッションを設定しようとするとエラーになって、「未定義のプロパティ 『ユーザー』を設定することはできません」。は:「プロパティを設定することはできません未定義の 『ユーザー』」:

exports.signUp=function(req,res){ // singup 
     new user({     //user model 
      username: req.body.username, // req body 
      }).save(function(error,user){ //After a successful save of user 
       **req.session.user=user.id;** // here is the error after a successful save 
      } 
     }); 
    } 

答えて

1

ノードアプリケーションでこのようなミドルウェアを使用しましたか?

app.use(session({ 
secret: 'botnyuserdetails', // session secret 
resave: true, 
saveUninitialized: true 
})); 
+0

私は以下のようにserver.jsでそれを設定します。 var mongoDB = 'mongodb:// localhost/my_database'; mongoose.connect(MongoDBは、{ useMongoClient:真 })。 するvarデシベル= mongoose.connection。 =は( 'セッションを発現')必要 VaRのexpressSession。 var mongoStore = require( 'connect-mongo')({session:expressSession});秘密 app.use(expressSession({ : 'SECRET'、 クッキー:{MAXAGE:60 * 60 * 1000年}、 ストア:新しいmongoStore({ デシベル:db.db、 コレクション: 'セッション' }) }))); –

+1

あなたはアプリのコードを投稿することができますか、時々それは問題を作るmiddlewaresを使用する順序です – Jawad

+0

実際には、私はapp.jsで何も定義していないserver.jsでサーバーとdatabse接続を作成しました。しかし、私はサーバーでapp.jsのインスタンスを持っている私は急行セッションを設定しました –

0
exports.signUp=function(req,res){ // singup 
     new user({     //user model 
      username: req.body.username, // req body 
      }).save(function(error){ 
       //**req.session.user=user.id;** 
       // save function doesn't return user 
       // you can use this approach 
       if(error){ 
       res.json({error:"cannot save"}) 
       } 
       else{ 
       req.session.user = req.body.username; 
       } 
      } 
     }); 
    } 
+0

実際には私はsaveからユーザーを受け取りました、req.sessionの問題ですが、修正が不明です –

関連する問題