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

hvordan kan man sammenkæde forskellige mongoose-resultater til en JSON Array for at vise på DataTable?

Du kan bruge async.series() at køre hver opgave. Hver opgave f.eks. getBranches() og getSerials() vil "returnere" en række data. Når serien er færdig, bør du have en række af data, så du skal udflade den.

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

Se dette svar angående udfladning af et array af arrays i JavaScript.

Rediger :Jeg har aldrig brugt async.concatSeries() før, men det måske være kortere.




  1. Brug af Mongoose / MongoDB $addToSet-funktionalitet på en række objekter

  2. Kan ikke opgradere sharded mongoDB eller stoppe balanceren

  3. Redis/Jedis intet enkelt fejlpunkt og automatiseret failover

  4. Forbindelse nægtet til MongoDB fejl nr. 111