[英]How to pass 'YYYY-MM-DD' date format to postgresql trough prisma client?
我有一個使用prisma
的nestjs
應用程序,具有以下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.