Не разбирается строка в pg-обещании при указании столбцов SELECT - PullRequest
0 голосов
/ 27 ноября 2018

Почему 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-обещанию для анализа имен столбцов, напримерв первом случае?

1 Ответ

0 голосов
/ 27 ноября 2018

... возвращает неразобранную строку, когда заданы столбцы select

Вы не просто указываете столбцы, вы помещаете их в скобки, что говорит PostgreSQL возвращать кортежи, чтовы получаете.И если вы запустите свой запрос в pgAdmin, вы увидите то же самое.

Есть ли способ сказать pg-обещание для анализа имен столбцов, как в первом случае?

Удалите скобки, и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...