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

come concatenare vari risultati di mangusta in un array JSON da visualizzare su DataTable?

Puoi utilizzare async.series() per eseguire ogni attività. Ogni attività, ad es. getBranches() e getSerials() "restituirà" una matrice di dati. Al termine della serie, dovresti quindi avere un array di dati, quindi devi appiattirlo.

async.series([
    function getBranches(done) {
        async.mapSeries(branch_name, function (item, done) {
            // FYI 'done' inside this function is not the same 'done' as outside the function
            // ...
        }, done);
    },
    function getSerials(done) {
        async.mapSeries(serial, function (r_serial_no, done) {
            // ...
        }, done);
    },
    // etc
], function (err, data) {
    // data should come back as multidimensional array
    // so you should only need to flatten it
    var finalJSON = [].concat.apply([], data);
});

Vedi questa risposta per quanto riguarda l'appiattimento di un array di array in JavaScript.

Modifica :Non ho mai usato async.concatSeries() prima, ma potrebbe essere più breve.