PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Връщане в pg-promise

Този код има два проблема едновременно:

  • невалидно използване на обещание, когато е вътре в .catch правите return result , това не е начинът, по който се обработват отхвърлените обещания, трябва или да предоставите обработката на грешката, или да хвърлите/отхвърлите повторно грешката.
  • невалидно използване на pg-promise библиотека. Използвате метод one който трябва да отхвърли, когато се върне нещо различно от 1 запис, съгласно документацията на метода , и в същото време казвате I need to catch if it returns more than one row... , което е логическо противоречие.

Резултатът от него е следният:вашата заявка се изпълнява успешно и връща повече от един запис, което от своя страна прави метод един отхвърляне и след това вземате причината за отхвърляне и я превръщате в разрешена, като правите return result . Като цяло вашият код е повреден навсякъде.

Първо, с pg-promise трябва да използвате правилния метод, според броя на записите, които очаквате обратно, вижте Основните положения .

И след това обработете .then/.catch според вашата бизнес логика. Не мога да бъда по-конкретен тук, защото не предоставихте повече подробности за това.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgres csv дата нулева грешка при импортиране

  2. защо executeUpdate връща 1 дори ако не е вмъкнат нов ред?

  3. ~~ Оператор в Postgres

  4. Как мога да групирам деца и родители в една заявка?

  5. Как да напишете заявка, нечувствителна към главните букви и за MySQL, и за Postgres?