簡體   English   中英

如何通過 'YYYY-MM-DD' 日期格式傳遞給 postgresql 槽棱鏡客戶端?

[英]How to pass 'YYYY-MM-DD' date format to postgresql trough prisma client?

我有一個使用prismanestjs應用程序,具有以下postgresql表:

Table "public.Transaction"
Column |       Type        |               
-------+-------------------+
id     | integer           |
amount | double precision  |
date   | date              |

在 prisma 中,我將表格定義為:

model Transaction {
  id                Int      @id @default(autoincrement())
  amount            Float   
  date              DateTime @db.Date

由於我使用的是postgresql ,因此我需要傳遞一個格式為'YYYY-MM-DD'的日期。

我正在嘗試將此格式作為字符串傳遞:

const createdTransaction = await this.prisma.transaction.create({
  data: {
    amount: 3333,
    date: '2022-11-22',
  },
});

但我收到以下錯誤:

Argument date: Got invalid value '2022-11-22' on prisma.createOneTransaction. Provided String, expected DateTime.

我知道我必須傳遞一個 Date 類型,但是使用 javascript 格式,所有內容都以字符串結尾。

我應該在nestjs中傳遞什么值?

因為如果我使用new Date(2022,11,22) ,它會被prisma接受,但它存儲為Thu Dec 22 2022 00:00:00 GMT+0100 (Central European Standard Time) ,一個字符串,它不是postgresql期望什么。

我認為您可以在事務 model 中設置日期列字符串的類型。

這樣您就可以將日期字符串傳遞給 PostgreSQL。

另一種方法可能是制作類型編號並將毫秒日期傳遞給 PostgreSQL。

在返回 object 之前在您的服務中或在您的前端中,您可以將日期解析回字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM