So aktualisieren Sie mehrere Zeilen mit unterschiedlichen Daten in Prisma
P粉478445671
P粉478445671 2023-12-25 13:03:44
0
1
531

Was ist der beste Weg, viele Datensätze mit unterschiedlichen Daten zu aktualisieren? Das ist es, was ich mache

const updateBody = JSON.parse(req.body);

      try {
        for (let object of updateBody) {
          await prisma.comissions.upsert({
            where: {
              producer: object.producer,
            },
            update: {
              rate: object.rate,
            },
            create: object,
          });
        }

Ich könnte es aktualisieren, aber es würde lange dauern. Ich weiß transaction, aber ich weiß nicht, wie ich es verwenden soll.

P粉478445671
P粉478445671

Antworte allen(1)
P粉354602955

在 Prisma 中事务查询有两种使用方式。

顺序操作:传递要在事务内顺序执行的 Prisma 客户端查询数组。

交互式交易:传递一个函数,该函数可以包含用户代码,包括 Prisma 客户端查询、非 Prisma 代码以及要在交易中执行的其他控制流。

在我们的例子中我们应该使用交互式交易,因为它包含用户代码,要在Prisma交易中使用回调函数,我们需要向Prisma.schema文件添加预览功能

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["interactiveTransactions"]
}
prisma.$transaction(async(prisma) => {
  try {
        for (let object of updateBody) {
          await prisma.comissions.upsert({
            where: {
              producer: object.producer,
            },
            update: {
              rate: object.rate,
            },
            create: object,
          });
        }
});
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!