Javascript 是否有一种Mongoose方法来保存多个文档,但仅当所有文档都成功时才保存
我有一系列文档,但我只想在每个文档都成功时保存它们。有猫鼬的方法吗 比如:Javascript 是否有一种Mongoose方法来保存多个文档,但仅当所有文档都成功时才保存,javascript,mongodb,mongoose,transactions,atomic,Javascript,Mongodb,Mongoose,Transactions,Atomic,我有一系列文档,但我只想在每个文档都成功时保存它们。有猫鼬的方法吗 比如: Insert el[0] - success Insert el[1] - success Insert el[2] - fail Delete el[1] Delete el[0] 您可以使用事务来实现这一点。以下是文档中的一个示例: let session=null; 返回Customer.createCollection()。 然后(()=>Customer.startSession()。 然后(_session
Insert el[0] - success
Insert el[1] - success
Insert el[2] - fail
Delete el[1]
Delete el[0]
您可以使用事务来实现这一点。以下是文档中的一个示例:
let session=null;
返回Customer.createCollection()。
然后(()=>Customer.startSession()。
然后(_session=>{
会话=_会话;
session.startTransaction();
返回Customer.create([{name:'Test'}],{session:session});
}).
然后(()=>Customer.create([{name:'Test2'}],{session:session}))。
然后(()=>session.abortTransaction())。
然后(()=>Customer.countDocuments()。
然后(count=>assert.strimequal(count,0))。
然后(()=>session.endSession());
您可以使用abortTransaction
在出现错误时回滚查询
请在此处阅读更多信息:
Afaik mongoose不支持事务。本教程可以帮助您:谢谢,您知道.findOne().session()上的_id是否会被传递吗?@JanneckLange我没听清楚。