Ben*_*ick 6 mongoose mongodb node.js
Mongoose 的session.withTransaction
助手只执行第一次写入。这是代码:
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 });
});
Run Code Online (Sandbox Code Playgroud)
此代码在数据库中创建一个新成员,但不更新用户。交易的意义不是只有在每个操作都成功时才能通过吗?我究竟做错了什么; 或者这对猫鼬来说是不可能的?
猫鼬:5.9.26,Node.js:14.9.0
小智 0
检查使用您要作为交易基础的模型启动会话是否有帮助:
const session = await Member.startSession();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
296 次 |
最近记录: |