Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите резултатите от nodejs с помощта на mysql пакет?

Тъй като node.js е неблокиращ и асинхронен, тогава в този код:

client.query("SELECT * FROM users", function (error, results, fields) {
    if (error) {
        //
    }
    if (results.length  > 0) {
        self.users = results;
    }
});

console.log(this.users);

данните от DB вероятно все още не са заредени в потребителска променлива, когато се опитвате да ги влезете в конзолата. Можете да го проверите, ако направите своя console.log операция в рамките на заявката, например:

client.query("SELECT * FROM users", function (error, results, fields) {
    if (error) {
        //
    }
    if (results.length  > 0) {
        console.log(results);
    }
});

За да предадете резултата в променлива, когато операцията приключи, можете да обвиете извикването на клиентската DB във функция с параметър за обратно извикване и да зададете променливата си, когато обратното извикване е извикано, например:

function query(sql, callback) {
    client.query(sql, function (error, results, fields) {
        if (error) {
            //
        }
        if (results.length  > 0) {
            callback(results);
        }
    });
}

query("SELECT * FROM users", function(results) {
    self.users = results;
    console.log(self.users);
});

Кодът по-горе е само концепция.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Чувствително на малки и големи букви търсене в Django, но игнорирано в Mysql

  2. Как да промените Collation на utf8_bin наведнъж

  3. Грешка:Съществува пространство за таблици за таблица xxx. Моля, ИЗХВЪРЛЕТЕ пространството за таблици преди ИМПОРТ

  4. Урок за MySQL Workbench – Изчерпателно ръководство за инструмента RDBMS

  5. org.hibernate.InstantiationException:Няма конструктор по подразбиране за обект::principal.Cliente