Prisma ORM 中的 .upsertMany() 是如何实现的?

How is .upsertMany() implemented in Prisma ORM?

Prisma ORM 有一个 update or create upsert() 方法的实现和一组 bulk requests,
但是没有 .upsertMany() 之类的东西,即批量“创建或更新现有记录”。

使用 Prisma ORM 实现这种方法的最佳方法是什么?

Prisma 本身不支持 upsertMany

Feature Request提供upsertMany方法

到目前为止,最好的方法是循环遍历数据并在循环中调用 upsert 以及使用 $transaction.

示例:

const collection = await prisma.$transaction(
    userData.map(cur =>
      prisma.cur.upsert({
        where: { id: cur.id },
        update: {},
        create: { id: cur.id },
      })
    )
  )

这是对 $transaction API 的引用,应该会有帮助。