Node.js 在MongoClient.connect中初始化会话

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

我正在尝试重用数据库对象。会话初始化在Mongoconnect回调之外工作正常。但是,当我在回拨中移动它时,浏览器中没有设置会话cookie。有什么想法吗

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

});