gpt4 book ai didi

node.js - Mongoose withTransaction 仅部分执行

转载 作者:行者123 更新时间:2023-12-03 12:13:01 31 4
gpt4 key购买 nike

Mongoose 的 session.withTransaction helper 只执行第一次写入。这是代码:

const session = await mongoose.startSession();

await session.withTransaction(async () => {
const member = await Member.create([{
name: 'John Doe'
email: 'johndoe@example.com',
}], { session });

await User.updateOne({ _id: req.user.id }, { member: member._id }, { session });
});
此代码在数据库中创建一个新成员,但不更新用户。交易的意义不是只有在每个操作都成功时才能通过吗?我究竟做错了什么;或者这对 Mongoose 来说是不可能的?
Mongoose :5.9.26,
Node.js:14.9.0

最佳答案

检查是否使用您将基于事务的模型启动 session 帮助:

const session = await Member.startSession();

关于node.js - Mongoose withTransaction 仅部分执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63804395/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com