2013-05-23 4 views
0

я пытаюсь создать сеанс связи с MongoDB в node.js уже у меня есть связь, как этоткак создать сеанс с использованием MongoDB в node.js

var Db=require('mongodb').Db; 


var BSON=require('mongodb').BSONPure; 

var Server=require('mongodb').Server; 


var client=new Db('db',new Server('localhost', 27017), {safe:false}); 

, а затем я попытался настроить сеанс, как это

app.use(express.session({ 

    store: new mongoStore({ db: client }), 
    secret: 'topsecret' 

    })); 

я побежал файл server.js я получил эту ошибку mongoStore неопределенной так, чтобы устранить эту ошибку я добавил этот

var mongoStore= require('connect-mongodb'); 

снова я побежал я did't получить любую ошибку, но я получил ниже ошибки, когда я пытался найти или сохранить данные в БД

Cannot call method 'findOne' of undefined 

, как решить эту проблему и как создать сеанс с MongoDB в узле .js

ответ

3

Вот очень простая установка:

var express  = require('express'); 
var MongoStore = require('connect-mongo')(express); 
var app   = express(); 

app.use(express.cookieParser()); // required to handle session cookies! 
app.use(express.session({ 
    secret : 'YOUR_SESSION_SECRET', 
    cookie : { 
    maxAge : 10000    // expire the session(-cookie) after 10 seconds 
    }, 
    store : new MongoStore({ 
    db: 'sessionstore' 
    // see https://github.com/kcbanner/connect-mongo#options for more options 
    }) 
})); 

app.get('/', function(req, res) { 
    var previous  = req.session.value || 0; 
    req.session.value = previous + 1; 
    res.send('<h1>Previous value: ' + previous + '</h1>'); 
}); 

app.listen(3012); 

Если вы запустите его и в браузере открыт http://localhost:3012/, это увеличит значение на 1 каждый раз, когда вы перезарядить. Через 10 секунд сеанс истечет, и значение будет сброшено на 0.

Смежные вопросы