Я использую pg-обещание для облегчения запросов между Express и базой данных Postgres.
Использование pg-обещания any :
db.any('select * from blog')
.then(function (data) {
console.log(data);
})
.catch(function (error) {
console.log('ERROR:', error);
});
В таблице Postgres есть только одна строка, поэтому приведенный выше запрос получает блок данных из Postgres, который при выводе на терминал выглядит следующим образом:
[ { id: 1,
date: '2018-12-17',
title: 'Here is a Title',
article: "Okay, there's not much here yet.",
img1: null,
img2: null,
img3: null,
keywords: 'news' } ]
В попытке разбитьСкопировав эти данные в пригодные для использования биты, которые я затем смогу присвоить значениям в Express, я попытался использовать JSON.parse()
для этих данных.Я действительно не знал, чего ожидать от этого.
db.any('select * from blog')
.then(function (data) {
data = JSON.parse(data); // attempting to parse the Postgres data
console.log(data);
})
Произошла ошибка:
ERROR: SyntaxError: Unexpected token o in JSON at position 1
Я также пытался вызвать эти данные, как если бы это был объект.
db.any('select * from blog')
.then(function (data) {
console.log(data);
console.log(data.id); // attempting to get just the id from the data
})
Какой вывод на терминал:
undefined
Как я могу использовать эти данные в среде js, такой как Express?Не уверен, что это что-то меняет, но я пытаюсь использовать Pug для шаблонирования всего интерфейса.