MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

comment concaténer divers résultats de mangouste à un tableau JSON à afficher sur DataTable ?

Vous pouvez utiliser async.series() pour exécuter chaque tâche. Chaque tâche, par ex. getBranches() et getSerials() "renverra" un tableau de données. Lorsque la série est terminée, vous devriez alors avoir un tableau de tableau de données, vous devez donc l'aplatir.

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

Voir cette réponse concernant l'aplatissement d'un tableau de tableaux en JavaScript.

Modifier :Je n'ai jamais utilisé async.concatSeries() avant mais il pourrait être plus court.