Javascript 使用connectOrCreate时prisma中出错

Javascript 使用connectOrCreate时prisma中出错,javascript,prisma,Javascript,Prisma,有人知道这个错误在Prisma中意味着什么吗 EnvVarNotFound(“预期存在父绑定'7\”) 它发生在我在有效负载上使用connector创建之后,但在create或connect时工作正常:/ 不确定,为什么在我使用connectOrCreate后会发生此错误,我是否遗漏了什么 示例代码: prisma.create({ "data": { "unitOfMeasurement": { "connectOr

有人知道这个错误在Prisma中意味着什么吗

EnvVarNotFound(“预期存在父绑定'7\”)

它发生在我在有效负载上使用
connector创建
之后,但在
create
connect
时工作正常:/

不确定,为什么在我使用
connectOrCreate
后会发生此错误,我是否遗漏了什么

示例代码:

prisma.create({
  "data": {
    "unitOfMeasurement": {
        "connectOrCreate": {
            "where": {
                "name": "PC"
            },
            "create": {
                "name": "PC"
            }
        }
    },
  },
})

将您的架构设置为以下内容:

model Parent {
  id                  Int                @id @default(autoincrement())
  uof                 UnitOfMeasurement? @relation(fields: [unitOfMeasurementId], references: [id])
  unitOfMeasurementId Int?
}

model UnitOfMeasurement {
  id   Int     @id @default(autoincrement())
  name String  @unique
  a    Parent?
}
我在
@prisma/cli
@prisma/client
的2.11.0版上运行了下面的查询,它运行良好

await prisma.parent.create({
    data: {
      uof: {
        connectOrCreate: { create: { name: 'PC' }, where: { name: 'PC' } },
      },
    },
})

您可能面临与旧版本相关的问题,或者
@prisma/client
@prisma/cli
的版本不匹配。你能试试最新的版本吗,运行prisma generate,然后再次检查吗?

谢谢@Ryan,这对我来说也很好——我想问题是我在我的模式中使用了我的名字作为ID。最后一个问题,如何对多个项目执行此操作?我尝试将
name
保留为ID(删除
ID
字段),但仍然有效。同样,对于创建多个项目,您需要有一个1-many关系。在这种情况下,只需将一个数组传递给
connectOrCreate
。类似于:
connectOrCreate:[{create:{name:'PC'},where:{name:'PC'},{create:{name:'PD'},where:{name:'PD'}]
是否可以详细说明为什么这是公认的答案,因为我也有同样的问题?据我所知,这似乎是同一个查询减去“prisma.parent”。@Krejko你需要分享更多细节,因为我需要复制它。可能有不同的原因导致这种情况,其中之一可能是
@prisma/client
@prisma/cli
的版本不匹配。