Как выполнить итерацию по результату запроса MySQL в nodejs

#javascript #node.js

Вопрос:

Я пытаюсь поместить результат запроса mysql в массив. Это прекрасно работает. Но когда я console.log создаю массив, он возвращает два экземпляра массива, первый экземпляр только с одним элементом, а второй экземпляр со всеми ожидаемыми элементами. Я не знаю, что я делаю не так, мне нужна помощь.

Вот мой код:

 let query = "SELECT public_id FROM video_records WHERE frequency = 3"
connection.query(query, (error, result)=>{
    if(result){
        let returnedIds = []
        Object.keys(result).forEach(key=>{
            returnedIds.push(result[key].public_id)
            console.log(returnedIds)
        })
 

и вот мой результат:

 [ 'tmglo0ilcz1earf7dmeg' ]
[ 'tmglo0ilcz1earf7dmeg', 'idjdzqc7juxhvkfmoebb' ]
 

Ответ №1:

Это не два экземпляра, это просто значение массива во время этой итерации. Переместите журнал консоли за пределы forEach.