在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ nodejs寫(xiě)接口,中間件不執(zhí)行

nodejs寫(xiě)接口,中間件不執(zhí)行

代碼如下:

let result = {
    code: '0',
    data: {
        datalist: [],
        pagecond: {
            page: 1,
            count: 1,
            pageSize: 5,
            totalPages: 1
        }
    }
};
router.get('/v1/ccb/signup/order/counterparty', function(req, res, next) {
    MongoClient.connect(url, function(err, db) {
        if (err) throw err;
        var dbo = db.db("runoob");
        dbo.collection("site").find({}).toArray(function(err, resu) { // 返回集合中所有數(shù)據(jù)
            if (err) throw err;
            result.data.datalist.push(resu[0]);
            db.close();
        });
    });
    next();
}, function(req, res, next) {
    res.send(result);
});

各位大神好,我是小白,我在中間件中使用的mongodb從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),請(qǐng)問(wèn)這樣合適嗎?
為啥第一次請(qǐng)求接口時(shí)返回的datalist是[],第二次再請(qǐng)求接口時(shí)才返回從數(shù)據(jù)庫(kù)查詢到的數(shù)據(jù)呢?

回答
編輯回答
不將就

沒(méi)用過(guò)mogo , 但是 這個(gè) MongoClient.connect 方法是不是異步的?
最起碼 應(yīng)該這樣。

MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    var dbo = db.db("runoob");
    dbo.collection("site").find({}).toArray(function(err, resu) { // 返回集合中所有數(shù)據(jù)
        if (err) throw err;
        result.data.datalist.push(resu[0]);
        db.close();
        next()
    });
}, function(req, res, next) {
res.send(result);

}));

2017年8月23日 18:40