Prisma如何用不同的資料更新多行
P粉478445671
P粉478445671 2023-12-25 13:03:44
0
1
613

使用不同資料更新許多記錄的最佳方法是什麼? 我就是這樣做的

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,
          });
        }

我可以更新它,但需要很長時間才能完成。我知道 transaction,但我不知道如何使用它。

P粉478445671
P粉478445671

全部回覆(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,
          });
        }
});
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板