преобразовать результат запроса select в массив в nodejs с использованием mysql

#mysql #node.js

#mysql #node.js

Вопрос:

я выполняю этот запрос select в базе данных mysql и nodejs, ожидаемыми результатами являются только массив со строковым содержимым, содержащим ссылку: [‘http://hgj ‘,’http://jfhd ‘], но с кодом, который я вставлю, он показывает мне: [{ссылка:»http://hgj },{ссылка:»http://jfhd }] как я могу удалить объекты {link} и вставить в таблицу только строку ‘http …’?

  query = "select link from weblist";
        var res=  await con.query(query, (error, response) => {
        console.log('link from database', error || response);
        var table = JSON.parse(JSON.stringify(response));
       return table ;
        }); 

Ответ №1:

В этом решении есть несколько простых шагов:

  1. Упорядочить объект с помощью JSON.stringify . Теперь это строка
  2. Строка содержит символы, которые вам не нужны, поэтому вы используете string.replace() и передаете литерал регулярного выражения, который, независимо от позиции символа или корпуса, удаляет ненужный символ с помощью «» (т.Е. Ничего);
  3. верните эту новую строку с представлением ваших URL-адресов внутри массива

Однострочное решение:

 let oneliner = links.map((elem) => {
    return JSON.stringify(elem).replace(/[{}"'link:]/gi, "");
})

console.log(oneliner);

// [ 'http: //hgj', 'http://jfhd' ]
 

Комментарии:

1. Здравствуйте, спасибо за ваш ответ, но как я могу удалить «ссылку» тоже, поэтому, чтобы было понятно, в моем массиве я хочу иметь только [‘ hgj ‘, ‘ jfhd’]