2014-10-17 2 views
0

몽고와 함께 지속되는 nodejs에서 세션을 사용할 수있는 방식으로 연결 몽고를 구성하려고합니다. 다음 코드를 사용합니다.NodeJS 몽구스 connect-mongo 세션 저장소와 함께

var mongoose = require('mongoose'); 

function connect(url, callback) { 
    mongoose.connect(url); 

    var connection = mongoose.connection; 
    connection.on('error', console.error.bind(console, 'connection error:')); 
    connection.once('open', function() { 
     console.log("Mongoose connected at: ", url); 
     callback(connection); 
    }); 
} 

var express = require("express"); 
var body_parser = require('body-parser'); 
var cookie_parser = require('cookie-parser'); 
var hogan_express = require('hogan-express'); 
var session = require('express-session'); 
var mongo_store = require('connect-mongo')(session); 

var express = require("express"); 

var app = express(); 

app.engine('html', hogan_express); 

app.set('view engine', 'html'); 
app.set("views", "views"); 

app.use("/libs", express.static("bower_components")); 

if (!config.development) { 
    app.use(express.static("min")); 
} 
app.use(express.static("public")); 

connect("MONGODBURL",function(mongoose_connection){ 
    app.use(body_parser.json()); 
    app.use(cookie_parser()); 
    app.use(session({ 
     secret: "asd", 
     store: new mongo_store({ 
      mongoose_connection: mongoose_connection 
      // db: mongoose_connection.db 
     }) 
    })); 

}) 

나는 모든 것을 시도했지만 일부 코드는 실행하지 않았으며, 내 레슨의 refrence에는 객체 세션이 없습니다. 형식 오류 :

얻기 솔루션에 대한 힌트를 줄 수

app.get("/rest/test",function(req, res) { 
    req.session.asd="test"; 
    res.send(req.session.asd) 
}); 

somone에 : 정의되지 않은

코드의 특성 'ASD'을 설정할 수 없습니다?

답변

1

경로를 정의해야합니다 후에 세션을 구성하십시오.

케이스의 콜백 내부. 아마 그것 안에서만 듣기 시작할 것입니다.

connect("MONGODBURL",function(mongoose_connection){ 
    app.use(body_parser.json()); 
    app.use(cookie_parser()); 
    app.use(session({ 
     secret: "asd", 
     store: new mongo_store({ 
      mongoose_connection: mongoose_connection 
      // db: mongoose_connection.db 
     }) 
    })); 
    app.get("/rest/test",function(req, res) { 
     req.session.asd="test"; 
     res.send(req.session.asd) 
    }); 
    app.listen(... 
}); 
+0

대단히 감사합니다! –

관련 문제