节点上的嵌套查询

时间:2018-12-04 21:06:34

标签: mysql node.js

这是我的第一篇文章,我正在寻找可以帮助我的另一个线程,但我没有找到它。

我必须对他自己的文本使用一些随机ID,这两个属性都位于数据库的同一表中。

我的第一个查询是检查我是否插入了至少一个ID,第二个查询是获取他的文本。 我的问题是我无法到达第二个查询,因此对象“ questions”始终未定义。

你能帮我吗? 非常感谢。

 randomQuestion(callback){
        this.pool.getConnection((err,connection) =>{
            if(err){
                callback("Error de conexion a la BBDD", undefined);  
            }
            connection.query("SELECT id FROM questions", (err, rows)=>{
                connection.release();
                if(err){
                    callback("Error de acceso a la BBDD", undefined);
                }
                if(rows.length > 0){
                    var i = 0;
                    let questions = [];
                    while(i < 4){
                        let random = generateRandomNumber(rows[0].id, rows[rows.length-1].id);
                        let id = Math.trunc(random);

                        connection.query("SELECT question_text FROM questions WHERE id = ?", [id],
                        (err, row)=>{
                            connection.release();
                            if(err){
                                callback("Error de acceso a la BBDD", undefined);
                            }

                            questions.push({question_text: row[0].question_text, id: id});

                        });
                        ++i;
                    }
                    console.log(questions);
                    callback(questions);

                }
                else{
                    callback("No hay ninguna pregunta en la BBDD", undefined);
                }
            });
        });
    }

0 个答案:

没有答案