搜索

首页  >  问答  >  正文

如何实现透明交易系统(即:prisma.js)?

在 Prisma ORM 文档中,我们可以找到以下将几个数据库调用分组到一个事务中的示例。我想知道如何实施以下内容。 $transactions() (prisma.post...) 中使用的方法与我们可以使用“独立”的方法相同。

const [posts, totalPosts] = await prisma.$transaction([
  prisma.post.findMany({ where: { title: { contains: 'prisma' } } }),
  prisma.post.count(),
])

我想知道如何实现这样的方法($transation())。 我唯一的想法是检查“上下文”(this),但不确定这是否是最干净的想法。

P粉226413256P粉226413256447 天前464

全部回复(1)我来回复

  • P粉087074897

    P粉0870748972023-09-10 10:47:07

    我不确定我是否正确理解了这个问题。 您是否试图返回标题包含“prisma”一词的帖子数?如果是这样,您应该使用交互式交易 API 来实现这一点。

    const [posts, totalPosts] = await prisma.$transaction(async (prisma) => {
        const posts = await prisma.post.findMany({
            where: {
                title: {
                    contains: 'prisma'
                }
            }
        })
        const count = prisma.post.count({
            where: {
                title: {
                    contains: 'prisma'
                }
            }
        })
        return [posts, count]
    })
    

    回复
    0
  • 取消回复