我有一个简单的模式,它可以工作,但是当我尝试对定义类型做任何事情时,它就不工作了,我这样做对吗?
下面是我的模式
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "rhel-openssl-1.0.x"]
}
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
model User {
id String @id @default(auto()) @map("_id") @db.ObjectId
email String @unique
given_name String
last_name String
loginInfo loginStats
role Role @default(User)
Articles Article[]
}
model Article {
id String @id @default(auto()) @map("_id") @db.ObjectId
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
published Boolean @default(false)
title String
author User? @relation(fields: [authorId], references: [id])
authorId String? @db.ObjectId
}
type loginStats {
createdAt DateTime @default(now())
lastLogin DateTime
}
enum Role {
User
Admin
}
下面是我创建一个用户的测试函数。
import { Request, Response } from "express";
import cognitoUserPoolHelper from "../authLogin";
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
export const test = async (req: Request, res: Response) => {
if (!prisma) {
console.log(req);
}
const user = await prisma.user.create({
data: {
email: "randoms@example.com",
given_name: "Test",
last_name: "Test",
loginInfo: {
set: {
createdAt: Date.now().toString(),
lastLogin: Date.now().toString(),
},
},
},
});
console.log(user);
res.json({
msg: "Hello World",
});
};
当我运行它时,我得到这个错误。
Unknown arg `set` in data.loginInfo.set for type loginStatsCreateInput. Did you mean `select`?
Argument lastLogin for data.loginInfo.lastLogin is missing.
我已经生成了我的prisma模式,所以我至少可以排除这种情况。
有人知道吗?
1条答案
按热度按时间uyhoqukh1#
不幸的是,我在尝试创建嵌套复合类型时经常遇到同样的问题。每当下游的任何内容不正确时,都会抛出此错误。但是对于识别问题并没有特别的帮助。我会尝试将date方法设置为变量并注入它,以防Prisma在Prisma客户端中操作数据时出现问题。这会激怒错误消息,文档也不会被删除。在这种情况下没有多大帮助。