2017-01-28 32 views
0

我尝试使用mongodb进行身份验证。我发现这个代码片段:如何在node.js中使用mongodb?

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); 

但是,当我启动应用程序,我得到错误:

E:\Dev\mongoTest>node index.js 
E:\Dev\mongoTest\node_modules\express\lib\express.js:99 
     throw new Error('Most middleware (like ' + name + ') is no longer bundled 
with Express and must be installed separately. Please see https://github.com/sen 
chalabs/connect#middleware.'); 
^

Error: Most middleware (like session) is no longer bundled with Express and must 
be installed separately. Please see https://github.com/senchalabs/connect#middl 
eware. 
at Function.get (E:\Dev\mongoTest\node_modules\express\lib\express.js:99:13) 

at connectMongo (E:\Dev\mongoTest\node_modules\connect-mongo\src\index.js:49 
:43) 
at Object.<anonymous> (E:\Dev\mongoTest\index.js:2:43) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.runMain (module.js:604:10) 
at run (bootstrap_node.js:394:7) 
at startup (bootstrap_node.js:149:9) 
at bootstrap_node.js:509:3 

进出口新使用的是Node.js,有什么我可以忘了吗?

回答

2

使用下面

var session = require('express-session'); 
var MongoStore = require('connect-mongo')(session); 
+0

呀它的作品。谢谢! –

相关问题