sql >> Databáze >  >> NoSQL >> MongoDB

jak zřetězit různé výsledky mongoose do jednoho pole JSON pro zobrazení na DataTable?

Můžete použít async.series() ke spuštění každého úkolu. Každý úkol např. getBranches() a getSerials() "vrátí" pole dat. Když je série hotová, měli byste mít pole pole dat, takže je musíte zploštit.

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

Viz tato odpověď ohledně zploštění pole polí v JavaScriptu.

Upravit :Nikdy jsem nepoužil async.concatSeries() dříve, ale může být kratší.




  1. mapování v create index v elasticsearch through mongodb river se neprojeví

  2. Měli bychom použít dbref nebo vložený dokument v aplikaci náročné na čtení

  3. Apache Drill - Čas prvního spuštění je vysoký

  4. elasticsearch v.s. MongoDB pro aplikaci filtrování