recherche
Questions et réponses Node.js : Impossible de stocker les résultats de la requête SQL dans un tableau

0

J'essaie de pousser les résultats d'une requête SQL dans un tableau. Cependant, cela ne semble pas fonctionner. Je ne trouve pas de solution en ligne. Si quelqu'un peut m'aider à résoudre ce problème, je lui en serais très reconnaissant.

let data = [];
        connection.query("SELECT DISTINCT referer FROM publisher", (error, results) => {
        if (error) {
            console.log(error);
        } else {
            results.forEach(async (result) => {
                let referer = result.referer;
                let today = new Date();
                for (let i = 0; i < 24; i++) {
                    let hour = i;
                    let start = new Date(today);
                    start.setHours(hour, 0, 0, 0);
                    let end = new Date(today);
                    end.setHours(hour, 59, 59, 999);
                    connection.query("SELECT COUNT(*) AS count FROM publisher WHERE referer = ? AND first_seen >= ? AND first_seen <= ?", [referer, start, end], (error, results) => {
                        if (error) {
                            console.log(error);
                        } else {
                            let count = results[0].count;
                            data.push({
                                referer: referer,
                                hour: hour,
                                count: count
                            });
                        }
                    });
                }
            });
        }
    });

Your Answer
soumettre

1 réponse
0

Vous pouvez essayer d'obtenir des données de MySql DB en utilisant une seule requête

select referer, hour(first_seen) h, count(*) n
from publisher
where date(first_seen) = curdate()
group by referer, hour(first_seen)
order by referer, hour(first_seen)

Cela élimine les méthodes asynchrones internes dans le code js.

2024-04-07 12:25:01

soumettre

Hot Tools

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Téléchargez la collection de bibliothèques d'exécution requises pour l'installation de phpStudy

VC9 32 bits

VC9 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC9 32 bits phpstudy

Version complète de la boîte à outils du programmeur PHP

Version complète de la boîte à outils du programmeur PHP

Programmer Toolbox v1.0 Environnement intégré PHP

VC11 32 bits

VC11 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC11 phpstudy 32 bits

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser