sql >> Database teknologi >  >> RDS >> PostgreSQL

Retur i pg-løfte

Den kode har to problemer på samme tid:

  • ugyldigt løftebrug, når det er inde i .catch du return result , det er ikke sådan løfteafvisninger håndteres, du skal enten sørge for fejlhåndteringen eller genkaste/genafvise fejlen.
  • ugyldig brug af pg-promise bibliotek. Du bruger metoden one der formodes at afvise, når noget andet end 1 post returneres, ihht. metodens dokumentation , og samtidig siger du I need to catch if it returns more than one row... , hvilket er en logisk modsigelse.

Resultatet af det er som følger:din forespørgsel udføres med succes og returnerer mere end én post, hvilket igen gør metoden en afvise, og så tager du afvisningsårsagen og gør den til en løst ved at gøre return result . I det hele taget er din kode ødelagt overalt.

Først med pg-promise du formodes at bruge den rigtige metode i henhold til antallet af poster, du forventer tilbage, se Det grundlæggende .

Og derefter håndtere .then/.catch i henhold til din forretningslogik. Jeg kan ikke være mere specifik her, for du har ikke givet yderligere detaljer om dette.




  1. mysql database automatisk partitionering

  2. Hvilke DBMS'er tillader en rækkefølge af en attribut, som ikke er til stede i select-klausulen?

  3. 'System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' mislykkedes

  4. Tilladelser til at oprette en trigger i mysql