sql >> Database >  >> NoSQL >> MongoDB

hoe verschillende mangoestresultaten samen te voegen tot één JSON-array om op DataTable weer te geven?

U kunt async.series() gebruiken om elke taak uit te voeren. Elke taak b.v. getBranches() en getSerials() zal een reeks gegevens "teruggeven". Als de reeks klaar is, zou je een array met gegevens moeten hebben, dus je moet deze afvlakken.

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

Zie dit antwoord met betrekking tot het afvlakken van een reeks arrays in JavaScript.

Bewerken :Ik heb async.concatSeries() nog nooit gebruikt eerder maar het misschien korter zijn.




  1. MongoDB selecteer alles waar veldwaarde in een querylijst

  2. Hoe kan ik mongodump gebruiken om records te dumpen die overeenkomen met een specifiek datumbereik?

  3. Hoe in MongoDB slechts een deel van de array retourneren?

  4. MongoDB-datum-tijdwaarde wordt niet correct opgeslagen