Задать вопрос
bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Sequelize численные тип возвращает как строку?

Использую PostgreSQL. Функция SUM("Statistics"."quantityPrinted") AS "quantityPrinted" возвращает строковое значение.

const response = await models.sequelize.query(
    `
    SELECT
      SUM("Statistics"."quantityPrinted") AS "quantityPrinted"
    FROM "Cartridges"
    left JOIN "Statistics" on "Statistics"."cartridgeId" = "Cartridges".id
    WHERE "Cartridges".id = 2
  `,
    { type: models.sequelize.QueryTypes.SELECT }
);


5d5bfca50b442990295256.jpeg

Изменял настройки, но работает только для MySQL.
dialectOptions: {
    supportBigNumbers: true,
    bigNumberStrings: false
  }


P.S. Реально у меня намного сложней запрос, который средствами ORM не построить.
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Сложный Комментировать
Решения вопроса 1
bogdan_uman
@bogdan_uman Автор вопроса
шлЫмазл неукЪ-поцЪ
Решение нашел простое

const pg = require('pg');

// https://github.com/sequelize/sequelize/issues/4550
pg.defaults.parseInt8 = true;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vgbege
числа там большие ожидаются?
SELECT cast(SUM("Statistics"."quantityPrinted") as integer) AS "quantityPrinted" не прокатит?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы