gpt4 book ai didi

node.js - 指定 SELECT 列时 pg-promise 中未解析的行

转载 作者:行者123 更新时间:2023-11-29 12:16:04 26 4
gpt4 key购买 nike

为什么 pg-promise 在使用 SELECT * ... 查询时返回一个已解析的对象,但在指定选择列时返回一个未解析的行 SELECT ( given_name, family_name, photo) ...?

  • 选择所有列:

    db.oneOrNone(`SELECT * FROM $1~ WHERE id=$2`,[psql.tables.user, uid]);
    > {"id":"1","given_name":"Michael","family_name":"Douglas","email":"mike.dougly@douglas.com","password":"9511393558AC7202E61EB7BA9A2D3FC1FA9CA151AFF4271C1475BD11A7BE5DC72DC8E0B2E8EA3D44DA476DB43728E1A2A4BCB08A63B2E724603B9EEBD268CE5A","birthdate":"1978-01-01T00:00:00.000Z","photo":"https://somefakewebsite.com/dougly.jpg"}
  • 选择列的子集:

    db.oneOrNone(`SELECT (given_name, family_name, photo) FROM $1~ WHERE id=$2`,[psql.tables.user, uid]);
    > {"row":"(Michael,Douglas,https://somefakewebsite.com/dougly.jpg)"}

有没有办法告诉 pg-promise 像第一种情况一样解析列名?

最佳答案

...returns an unparsed row when select columns are specified

您不只是指定列,而是将它们放在括号中,这告诉 PostgreSQL 返回元组,这就是您得到的。如果您在 pgAdmin 中运行查询,您将看到相同的结果。

Is there a way to tell pg-promise to parse the column names like in the first case?

去掉括号,就是这样。

关于node.js - 指定 SELECT 列时 pg-promise 中未解析的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53498157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com