sql >> Database teknologi >  >> NoSQL >> MongoDB

Tildel mongoose return resultat til node js variabel

Tilbagekaldet af findOne() er asynkront, det bliver eksekveret, når du kommer til at gengive jaden. Udførelsen hopper til "TrackSession", før brugervariablen får en ny værdi.

Du skal sætte var html =... inde i tilbagekaldet.

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



  1. Returner kun specifikke felter fra projektion array underdokument

  2. BadValue Ugyldig eller ingen bruger-lokalitet angivet. Sørg for, at miljøvariablerne LANG og/eller LC_* er indstillet korrekt

  3. Kan ikke læse egenskaben 'castForQuery' for undefined på castArrayFilters i Node.js

  4. Morphia MongoDB check for null og ikke eksisterende felt