为什么我的类型不能和我的prisma模式一起工作?(MongoDB)

vwkv1x7d  于 2023-03-29  发布在  Go
关注(0)|答案(1)|浏览(165)

我有一个简单的模式,它可以工作,但是当我尝试对定义类型做任何事情时,它就不工作了,我这样做对吗?
下面是我的模式

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模式,所以我至少可以排除这种情况。
有人知道吗?

uyhoqukh

uyhoqukh1#

不幸的是,我在尝试创建嵌套复合类型时经常遇到同样的问题。每当下游的任何内容不正确时,都会抛出此错误。但是对于识别问题并没有特别的帮助。我会尝试将date方法设置为变量并注入它,以防Prisma在Prisma客户端中操作数据时出现问题。这会激怒错误消息,文档也不会被删除。在这种情况下没有多大帮助。

相关问题