node.js - 在 session.withTransaction 中返回一个节点 js 响应
问题描述
我正在使用 session.withTransaction() 在 mongo db 中执行多个更新。请注意,promiseArray 有多个 Stock.update 语句来更新库存数量。
await session.withTransaction(
async () => {
promiseResults = await Promise.all(promiseArray);
for (const result of promiseResults) {
recordCounter++;
if (result.nModified === 1) {
stockItemsNoUpdate.push(goodReturnSummary[recordCounter]);
}
}
if (stockItemsNoUpdate.length > 0) {
return res.status(200).send(response);
}
existingGoodReturnSummary = GoodReturn.build({
_id: sheetId,
goodReturnSummary,
agency,
createdBy,
});
await existingGoodReturnSummary.save({ session: session });
existingGoodReturnSummary = await GoodReturn.calculateTotalGoodReturnAmount(
existingGoodReturnSummary,
session
);
},
{
readPreference: 'primary',
readConcern: { level: 'local' },
writeConcern: { w: 'majority' },
}
);
如果 stockItemsNoUpdate.length > 0 我需要中止此事务并发送响应。通过下面的代码段完成。
if (stockItemsNoUpdate.length > 0) {
return res.status(200).send(response);
}
但由于以下错误,我不能这样做
关于如何解决这个问题的任何想法?
干杯
解决方案
推荐阅读
- python - 如何使用 XSLT 将 XML 中的节点转换为 CDATA?
- android - 如果特定值不在另一个不同类型的列表中,如何过滤列表
- laravel - Laravel 页面路由未使用传入的正确参数
- python - 在使用 filedialog 打开的文件夹中创建子文件夹
- angular - 如何仅检测角度形式的变化值?
- c++ - 将取消引用的智能指针的地址传递给需要原始指针的函数
- python - 使用 scikit-learn 预测单个值会导致 ValueError
- json - 如何使用 gin gonic 在 Go 中上传多部分文件和 json?
- javascript - 从 json 解析数组的 java 脚本
- c# - EF CORE datetime 保存时间为 0