node-postgres -Parameterized query - передать uuid в качестве параметра - PullRequest
0 голосов
/ 30 марта 2019

Я не могу использовать параметризованные запросы в node-postgres для вставки в столбец UUID из текстового значения.Перепробовал много предложений, основанных на ответах форума, но ни одно из них не работает Передать значение UUID в качестве параметра функции

Пробовал с $ 1 :: text, всего $ 1, но выдает ошибки, говорящие Причина: error: неверный синтаксис ввода для uuid:

let id = uuid.v4();
if (result.id) {//if an input uuid is provided - else i could use a Postgres auto-increment
  id = result.id;
} 
//Tried JSON.parse(id), JSON.stringify(id) here
logger.debug('create id:', id);//uuid format for id 
let query = {
  text: 'INSERT INTO resource_dataset (id, type, metadata, storage_location) VALUES ($1::uuid, $2, $3, $4) RETURNING id, type, metadata, storage_location, created_on',
  values: ['${id}','${type}', '${saveResult.metadata}', '${storageLocation}']
};
//Also tried just id in the values - gives invalid json  
pool.query(query, (err, result1) => {
........
});

Определение таблицы:
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ resource_dataset (id UUID NOT NULL, .... PRIMARY KEY (id));

ТИА,

...