KnexJS с postgreSQL возвращает все данные в виде строки, не учитывает тип данных, поступающий из базы данных - PullRequest
0 голосов
/ 13 января 2019

У меня проблема с KnexJ, которые я использую с postgreSQL, но каждый раз, когда я делаю выбор, knex отвечает на все данные в таблице в виде строки, что не соответствует действительности, поскольку существуют поля, которые являются числами и the knex Передайте мне как строку, кто-то знает, как помочь мне, я в отчаянии.

Выбрать knex

function getDeadlines(){
    let query = knex(prazo.getTableName())
                    .select(prazo.properties.idDeadline.getDbProperty(), prazo.properties.deadline.getDbProperty())
                    .orderBy(prazo.properties.deadline.getDbProperty(), 'desc')
    return query
}

Код ответа knexjs

{
    deadlines: [
      {
        cd_prazo_pk_36: "1", //(Is a numeric in database table)
        ds_prazo_36: "A Vista"
      },
      {
        cd_prazo_pk_36: "2",  //(Is a numeric in database table)
        ds_prazo_36: "7 Dias"
      },
      {
        cd_prazo_pk_36: "4", //(Is a numeric in database table)
        ds_prazo_36: "21 Dias"
      },
      {
        cd_prazo_pk_36: "3", //(Is a numeric in database table)
        ds_prazo_36: "14 Dias"
      }
   ]
}

cd_prazo_pk_36 это не строка, это число

Подключение

    development: {
    client: 'pg',
    connection: {
      host : 'localhost',
      user : 'postgres',
      password : '123',
      database : 'testing',
      charset: 'utf8'
    },
    useNullAsDefault: true
  },

Я уже благодарю вас

1 Ответ

0 голосов
/ 14 января 2019

node-postgres преобразует тип базы данных в строку JavaScript, если у него нет зарегистрированного анализатора типов для типа базы данных. Кроме того, вы можете отправить любой тип на сервер PostgreSQL в виде строки, и узел-postgres пропустит его без каких-либо изменений.

https://node -postgres.com / функции / типы

Knex использует драйвер базы данных node-postgres для доступа к postgresql.

Вы можете использовать https://github.com/brianc/node-pg-types, чтобы переопределить парсеры по умолчанию для каждого типа данных.

...