相关疑难解决方法(0)

如何在没有 ID 的情况下在 Prisma 中插入新记录?

我使用 Prisma ( https://www.prisma.io ) 作为 ORM。我想在存储数据时检查重复项,如果不存在,则创建一个新记录。

我以为我可以使用 Prisma 提供的 upsert 方法来做到这一点,并且可以在生成的客户端中使用,但是该方法的 where 子句仅适用于 id(或 @unique 字段),但是如果记录不存在,则没有要提供的任何 ID。

我提供了一个问题的例子。

数据模型.prisma

type System {
  id: ID! @unique
  performances: [SystemPerformance!]! @relation(name: "PerformanceBySystem" onDelete: CASCADE)
  name: String! @unique
}

type SystemPerformance {
  id: ID! @unique
  system: System! @relation(name: "PerformanceBySystem")
  date: DateTime!
  perf1: Float
  perf2: Float
}
Run Code Online (Sandbox Code Playgroud)

种子.js

const { prisma } = require('./generated/prisma-client');
async function main(){
  await prisma.createSystem({
    name: 's1',
  });
  await prisma.createSystem({
    name: 's2',
  });
  await prisma.createSystem({
    name: 's3',
  });
}
main(); …
Run Code Online (Sandbox Code Playgroud)

node.js prisma prisma-graphql

9
推荐指数
2
解决办法
5399
查看次数

标签 统计

node.js ×1

prisma ×1

prisma-graphql ×1