JavaScript - 3 consultas a bd

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 24 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

3 consultas a bd

Publicado por Rodolfo (2 intervenciones) el 24/02/2020 18:32:04
Buenas tardes estoy comenzando en node y estoy haciendo o quiero hacer tres consultas a bd pero cada una depende del resultado de la anterior, el primer metodo "ListarSupervisoresTotales" llena el arreglo salidaprimera, que de paso no entiendo pórque no puedo trabajar con la variable resultado que me almacena el resultado de ese metodo, en fin el segundo metodo "ListarSupervisoresTotales2proceso" llena otro arreglo llamado salidasegunda, hasta alli bien pero, el tercer metodo "ListarSupervisoresTotales3proceso" no imprime el arreglo que lleno el segundo metodo, y reviso registrosEncontrados2 y tiene la info.. por favor una ayuda y gracias de antemano...



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
exports.buscarSupervisoresTotales = (req, res) => {
 
    var salidaprimera = []
    var salidasegunda = []
 
 
    async function foo() {
        try {
            let resultado = await ListarSupervisoresTotales();
            let nuevoResultado = await ListarSupervisoresTotales2proceso(resultado);
            let resultadoFinal = await ListarSupervisoresTotales3proceso(nuevoResultado);
 
            return res.status(200).json({ resultadoFinal })
        } catch (error) {
            console.log(error);
        }
    }
 
 
    async function ListarSupervisoresTotales() {
        try {
 
            let listado1 = await Workers.aggregate([{
                "$group": {
                    "_id": {
                        "Manager_id": "$Manager_id"
                    }
                }
            }], (err, registrosEncontrados) => {
                if (!err) {
 
                    registrosEncontrados.reduce((acumulador, item) => {
                        item !== 'undefined' ? salidaprimera.push(item) : console.log('nada')
                    }), {}
                    return (registrosEncontrados)
 
                } else {
 
                    reject(err)
                }
            }
            )
        }
        catch (err) { console.log(err) }
    }
 
    async function ListarSupervisoresTotales2proceso(resultado) {
        try {
            await
 
 
                salidaprimera.reduce((acumulador, item) => {
 
 
                    Workers.find({ 'Manager_id': item._id.Manager_id }, (err, registrosEncontrados2) => {
 
                        salidasegunda.push(registrosEncontrados2)
                        return (registrosEncontrados2)
                    })
 
                }), {}
 
        }
        catch (err) {
            console.log(err)
 
        }
    }
 
    async function ListarSupervisoresTotales3proceso() {
        try {
            await console.log('log', salidasegunda)
 
 
        }
        catch (err) {
            console.log(err)
        }
    }
 
 
 
    foo()
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder