MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

làm thế nào để nối các kết quả mongoose khác nhau vào một Mảng JSON để hiển thị trên DataTable?

Bạn có thể sử dụng async.series () để chạy từng tác vụ. Mỗi nhiệm vụ v.d. getBranches()getSerials() sẽ "trả về" một mảng dữ liệu. Khi chuỗi hoàn thành, bạn sẽ có một mảng dữ liệu, vì vậy bạn cần làm phẳng nó.

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

Xem câu trả lời này liên quan đến việc làm phẳng một mảng các mảng trong JavaScript.

Chỉnh sửa :Tôi chưa bao giờ sử dụng async.concatSeries () trước nhưng nó có thể ngắn hơn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB 2.4.1 hiện đã có trên ScaleGrid

  2. Cấu trúc phân cấp Firestore và các bộ sưu tập con

  3. Mối quan hệ chỉ mục / RAM MongoDB

  4. _.merge sao chép tài liệu con thay vì cập nhật

  5. Flask chậm truy vấn Mongdb