Necesito cargar dos conjuntos de datos de dos colecciones mongodb diferentes en una página.
La página de mi ruta que hace la solicitud a través de mongoose se ve así
app.get('/testPage', function(req,res){ dbReadOne.find({}, '', function(error, dataOne){ res.json(dataOne); }); dbReadTwo.find({},'', function(error, dataTwo){ res.json(dataTwo); }); });Mis fábricas angulares se ven así
app.factory('dataOneFactory', function($resource){ return $resource('testPage/:dataOne', {}, { query: { method: 'GET', params: {symbol: 'dataOne'}, isArray: true} }) }); app.factory('dataTwoFactory', function($resource){ return $resource('testPage/:dataTwo', {}, { query: { method: 'GET', params: {customList: 'dataTwo'}, isArray: true} }) });Estoy completamente perdido sobre cómo hacer esto. Agradecería cualquier consejo que pueda obtener sobre este tema. Gracias.
Dado que Node.js es de naturaleza asíncrona, la función dbReadOne.find se ejecuta de forma asíncrona, por lo tanto, debe llamar al siguiente dbReadOne.find en la devolución de llamada de la primera función dbReadOne.find .
Ejemplo:
app.get('/testPage', function(req, res){ dbReadOne.find({}, '', function(errorOne, dataOne){ if(errorOne) throw new Error(errorOne); dbReadTwo.find({},'', function(errorTwo, dataTwo){ if(errorTwo) throw new Error(errorTwo); res.json({ dataOne: dataOne, dataTwo: dataTwo }); }); }); });