Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql sinkron di Node.js

Saya biasanya menggunakan pola seperti di bawah ini untuk jenis masalah ini. Singkatnya:dapatkan daftar hal-hal lalu panggil fungsi untuk menangani daftar; fungsi itu memanggil dirinya sendiri sampai daftar selesai; kumpulkan hasilnya saat Anda menggunakan akumulator; ketika daftar kosong, kembalikan apa pun yang telah Anda kumpulkan melalui panggilan balik. Ini hanyalah cara lain untuk mencapai apa yang ditunjukkan oleh @Andrey Sidorov dalam tanggapannya.

//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. Mysql Gabung DAN SUM

  2. ambil data dari mysql dan email itu

  3. Menyetel ulang penunjuk array dalam hasil PDO

  4. Gabung dalam dengan pernyataan if, grup

  5. Mengimpor File SQL 1GO => ERROR 2013 (HY000) pada baris 23:Koneksi terputus ke server MySQL selama kueri