如何使用 Prisma 查找或创建记录?

gra*_*ury 13 prisma

这是在 Prisma 中查找或创建用户的最佳方式吗?

prisma.user.upsert({
  where: {
    id: user.id,
  },
  update: {
    id: user.id,
  },
  create: {
    id: user.id,
  },
})
Run Code Online (Sandbox Code Playgroud)

Nur*_*ani 30

是的,您可以用来upsert创建记录。如果该update属性为空,则不会更新记录。

例子:

const upsertUser = await prisma.user.upsert({
  where: {
    email: 'test@prisma.io',
  },
  update: {},
  create: {
    email: 'test@prisma.io',
    name: 'Test User',
  },
})
Run Code Online (Sandbox Code Playgroud)

我们计划更好地记录这一点:upsert 如何表现为findOrCreate. 可以在此处找到 GitHub 问题的链接

有关 upsert 的更多信息,您可以在 Prisma 客户端 API参考部分阅读更多内容。