2011-03-19 19 views
8

¿Cómo obtengo sesiones trabajando con Node.js, [email protected] y mongodb? Ahora estoy tratando de utilizar Connect-mongo como esto:¿Cómo almacenar valores de sesión con Node.js y mongodb?

var config = require('../config'), 
    express = require('express'), 
    MongoStore = require('connect-mongo'), 
    server = express.createServer(); 

server.configure(function() { 
    server.use(express.logger()); 
    server.use(express.methodOverride()); 
    server.use(express.static(config.staticPath)); 
    server.use(express.bodyParser()); 
    server.use(express.cookieParser()); 
    server.use(express.session({ 
     store: new MongoStore({ 
      db: config.db 
     }), 
     secret: config.salt 
    })); 
}); 

server.configure('development', function() { 
    server.use(express.errorHandler({ 
     dumpExceptions: true, 
     showStack: true 
    })); 
}); 

server.configure('production', function() { 
    server.use(express.errorHandler()); 
}); 

server.set('views', __dirname + '/../views'); 
server.set('view engine', 'jade'); 

server.listen(config.port); 

estoy a continuación, en una devolución de llamada server.get tratando de utilizar

req.session.test = 'hello'; 

para almacenar ese valor en la sesión, pero no está almacenado entre las solicitudes.

Probobly lleva algo más que esto para almacenar valores de sesión, ¿cómo? ¿Hay un módulo mejor documentado que connect-mongo?

+0

require ('conectar-mongo') almacenará información de la sesión como una cadena, siempre y cuando usted es consciente. https://github.com/kcbanner/connect-mongo/issues/10 – fullstacklife

Respuesta

4

Eche un vistazo a esta serie de DailyJS. Se utiliza MongoDB y sesión de gestión

http://dailyjs.com/tags.html#lmawa

+16

Esa es toda una lista de artículos, un enlace más directo sería: http://dailyjs.com/2010/12/06/node-tutorial- 5 / –

2

No tengo experiencia con Node.js o Express, por lo que no puedo ver de inmediato lo que está mal con su enfoque. Sin embargo, he hecho que Express use MongoDB para almacenar sesiones de mensajes flash y otras cosas de la sesión.

Puedes ver mi código fuente para un acortador de URL simple here (que en realidad hace que las URL sean bastante largas en este momento; solo fue un ejercicio;)). Utilizo la sesión para almacenar una lista de URL que el usuario actual ha acortado.

No es bonito, pero sé que funciona.

Cuestiones relacionadas