Node.js 在MongoClient.connect中初始化会话
我正在尝试重用数据库对象。会话初始化在Mongoconnect回调之外工作正常。但是,当我在回拨中移动它时,浏览器中没有设置会话cookie。有什么想法吗Node.js 在MongoClient.connect中初始化会话,node.js,mongodb,express,Node.js,Mongodb,Express,我正在尝试重用数据库对象。会话初始化在Mongoconnect回调之外工作正常。但是,当我在回拨中移动它时,浏览器中没有设置会话cookie。有什么想法吗 var express=require('express'); var bodyParser=require('body-parser'); var cookieParser=require('cookie-parser'); var session=require('express-session'); var mongodb=requi
var express=require('express');
var bodyParser=require('body-parser');
var cookieParser=require('cookie-parser');
var session=require('express-session');
var mongodb=require('mongodb'),
MongoClient = mongodb.MongoClient;
var MongoStore = require('connect-mongo')(session);
var util=require('util');
var assert=require('assert');
var db;
var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(cookieParser());
MongoClient.connect('mongodb://localhost:27017/mydb',function(err,database){
if(!err)
{
app.use(session(
{ name:'sessionCookie',secret:'secret',saveUninitialized:true,resave:true ,
store: new MongoStore({ db:database })
}
));
app.listen(3000);
}
});
这似乎是应用程序对象初始化和会话初始化之间的时间问题。我对代码做了一些修改,问题似乎得到了解决。我不能完全确定根本原因。请随便插手
var express=require('express');
var bodyParser=require('body-parser');
var cookieParser=require('cookie-parser');
var session=require('express-session');
var mongodb=require('mongodb'),
MongoClient = mongodb.MongoClient;
var MongoStore = require('connect-mongo')(session);
var util=require('util');
var assert=require('assert');
var db;
var app;
MongoClient.connect('mongodb://localhost:27017/mydb',function(err,database){
if(!err)
{
app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.use(cookieParser());
app.use(session(
{ name:'sessionCookie',secret:'secret',saveUninitialized:true,resave:true ,
store: new MongoStore({ db:database })
}
));
app.listen(3000);
}
});