Tengo los resultados de mi consulta en result pero no puedo pasarlo al navegador, se muestra vacío. ¿Cómo puedo devolver el result a res.send('result') ?
myApp.get('/agg',function(req,res){ MongoClient.connect(url, function(err, db) { // Execute aggregate, notice the pipeline is expressed as an Array db.collection('projects').aggregate([{$match:{school_state:"DC"}}, {$group:{_id: "$primary_focus_subject",total_amount:{$sum: "$total_donations"}}}],function(err,result){ console.log(result); db.close(); }); }); res.send(result);});
Tienes 2 soluciones:
poner res.send(result); donde tienes console.log(result)
tener una promesa envolviendo su MongoClient.connect así:
let promise = new Promise((resolve,reject)=>{ MongoClient.connect(url,function(err,db){ db.collection('projects').aggregate([{$match:{school_state:"DC"}}, {$group:{_id: "$primary_focus_subject",total_amount:{$sum: "$total_donations"}}}],function(err,result){ if(err) reject(err) resolve(result); }); }); })