sql >> Base de Datos >  >> NoSQL >> MongoDB

Asigne el resultado de devolución de mangosta a la variable js del nodo

La devolución de llamada de findOne() es asíncrona, se ejecuta después de que llegas a renderizar el jade. La ejecución salta a "TrackSession" antes de que la variable de usuario obtenga un nuevo valor.

Debe poner la var html =... dentro de la devolución de llamada.

var user = null;
User.findOne({$and: [{"_id": advisorId}, {"role": "advisor"}]},{firstName:1,lastName:1, '_id':0}, function(err,userData,user) {
        user = userData;
        
        TrackSession.find({'advisor_id' : advisorId},fields,function(err, chatHistoryData) {
        var jade = require('jade');
        var html = jade.renderFile(appRoot+'/views/generatePDFHTML.jade', {'chatHistoryData': chatHistoryData,
            'selectedOptions':selectedOptions,
            'advisor':user,
            'tableHeaders':tableHeaders
        });
        console.log(html); return false;
    });
});



No