mongodb 如何在数组字段中插入多个复合对象

7dl7o3gd  于 2023-03-17  发布在  Go
关注(0)|答案(1)|浏览(167)

我已经在prisma论坛上问过这个问题了,下面是这个讨论的链接:
https://github.com/prisma/prisma/discussions/18332
如前所述,我正在寻找一种以编程方式实现这一点的方法。

const newDevice = await this.prismaService.deviceModel.create({
            data: {
                modelNumber: device.modelNumber,
                parts: {
                    set: device.parts
                }
            }
        })

其中,device.parts是一个数组,由{partNumber:串,数量:编号,部件名称:string}结构。
上面的代码片段返回了一个有趣的错误。

+     partNumber: String,
         +     quantity: Int,
         +     partName: String
             }
           }
         })

Unknown arg `set` in data.parts.set for type DevicePartsCreateInput. Did you mean `select`?
Argument partNumber for data.parts.partNumber is missing.
Argument quantity for data.parts.quantity is missing.
Argument partName for data.parts.partName is missing.

Note: Lines with + are required

但是,当我手动插入对象时,它会成功地执行插入。有什么想法吗?
我试过:

  • 生成新棱镜“npx棱镜生成”
  • 设置集:device.parts.map(s =〉({部件编号:s.部件编号,数量:s.数量,部件名称:s.部件名称}))
  • 使用CreateMany而不是set
owfi6suc

owfi6suc1#

这是对你的问题的回答:

await this.prismaService.deviceMode.create({
  data: {
    modelNumber: device.modelNumber,
    parts: {
      createMany: {
        data: device.parts,
      },
    },
  },
})

相关问题