我希望能在一个函数中更新3个meteor集合,但仅当所有三个更新成功时才更新,否则我想回滚。是否有一个好的模式来实现这个功能?
谢谢。
谢谢。
Meteor使用MongoDB作为其数据库后端,但MongoDB并没有明确支持事务。不过还是有一种模式可以使用:http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/
基本上,您只需在每个事务中放置一个状态值,并且只有当所有事务都完成时才将其标记为已完成。
Collection.insert
具有回调参数,因此您可以使用回调来完成事务。 - Swadq
collection.update
。它有一个可选的回调函数。如果没有错误,您可以继续进行后续更新。 - Prashant