所以我有一个简单的模式并且它可以工作但是当我尝试用我的定义类型做任何事情时它不起作用。我这样做正确吗?
这是我的架构
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: "[email protected]",
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.
我已经生成了棱镜模式,所以我至少可以排除这种情况。
有人知道吗?