如何将Postgres数据拆分为JSON/对象,或一种易于使用的Express格式



我使用pg promise来促进Express和Postgres数据库之间的请求。

使用pg promise的任意:

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

如何在像Express这样的js环境中使用这些数据?不确定它是否有区别,但我正在尝试使用Pug将所有内容模板化到前端。

select查询返回对象数组,数组中的每个元素对应于表(博客(中的一行,对象中的每个键对应于表列。

我不知道您为什么要尝试JSON解析它,因为JSON需要一个对象,而它不能解析数组。

尝试JSON.parse(JSON.stringfy(data((;

相关内容

  • 没有找到相关文章