Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql đồng bộ trong Node.js

Tôi thường sử dụng một mẫu như bên dưới cho loại vấn đề này. Tóm lại:lấy một danh sách những thứ sau đó gọi một hàm để xử lý danh sách đó; hàm đó tự gọi cho đến khi hoàn thành danh sách; thu thập các kết quả khi bạn đi trong bộ tích lũy; khi danh sách trống, hãy trả lại bất cứ thứ gì bạn đã tích lũy được thông qua lệnh gọi lại. Đó chỉ là một cách khác để hoàn thành những gì @Andrey Sidorov đã thể hiện trong phản hồi của mình.

//cb is (err, res) 
function getData(cb){
  var querystr = "SELECT * FROM groups";
  var result = "";

  dbClient.query(querystr, function (err, res, fields) {
      if (err)
          cb(err);
      else {
        var groups = [];
        for (var ndx in res)
          groups = groups.concat(res[ndx].members.split(","));

        getMembers(groups, [], cb);
      }
  });
}

function getMembers(members, sofar, cb){
  var member = members.shift();

  if (!member)
    cb(null, sofar);
  else {
    var memberquery;
    var params;

    if (member.substr(0,1) == "@") {
        memberquery = "SELECT name FROM groups WHERE id = ?";
        params = [member.substr(1, member.length-1)];
    } else {
        memberquery = "SELECT username FROM users WHERE id = ?";
        params = [member];
    }

    dbClient.query(memberquery, params, function(err, res) {
      if (err)
        cb(err);
      else {
        var membername = "";
        if (typeof res[0].username == "undefined") {
            membername = "@" + res[0].name;
        } else {
            membername = res[0].username;
        }

        sofar.push(membername);

        getMembers(members, sofar, cb);
      }
    });
  }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cuộn vô hạn Tải tất cả các mục cùng một lúc?

  2. MYSQL QUERY thay thế giá trị NULL trong một hàng bằng các giá trị trung bình

  3. Thêm các trường bí danh MySQL với nhau

  4. SQL - Chọn 'n' phần tử lớn nhất trong nhóm

  5. Cách tốt nhất để so sánh / chèn / cập nhật các sản phẩm trong db MySQL từ tệp .CSV là gì