我应该如何将prisma客户端实例传递到graphql上下文?

我应该如何将prisma客户端实例传递到graphql上下文?,graphql,apollo-server,prisma,Graphql,Apollo Server,Prisma,我应该如何将prisma客户端实例传递到graphql上下文 const prisma = new PrismaClient() // Should i use it like this? export async function contextResolver(ctx: Ctx): Promise<Ctx> { ctx.db = prisma } // Or this export async function contextResolver(ctx: Ctx): Pro

我应该如何将prisma客户端实例传递到graphql上下文

const prisma = new PrismaClient()

// Should i use it like this?
export async function contextResolver(ctx: Ctx): Promise<Ctx> {
  ctx.db = prisma
}

// Or this
export async function contextResolver(ctx: Ctx): Promise<Ctx> {
  ctx.db = new PrismaClient()
}

const apolloServer = new ApolloServer({
  schema,
  context: contextResolver
})
const prisma=new PrismaClient()
//我应该这样用吗?
导出异步函数contextResolver(ctx:ctx):承诺{
ctx.db=prisma
}
//还是这个
导出异步函数contextResolver(ctx:ctx):承诺{
ctx.db=new PrismaClient()
}
const阿波罗服务器=新阿波罗服务器({
模式,
上下文:上下文解析器
})

我不确定在第一种情况下,当第一次请求进行交易,第二次尝试使用同一个客户端时,我的客户端是否会被阻塞。

它应该是第一个

const prisma = new PrismaClient()

export async function contextResolver(ctx: Ctx): Promise<Ctx> {
  ctx.db = prisma
}
const prisma=new PrismaClient()
导出异步函数contextResolver(ctx:ctx):承诺{
ctx.db=prisma
}
建议在整个应用程序中只运行一个
Prisma
实例。这还可以防止数据库连接耗尽