MongoDB中的事务支持

Ana*_*and 14 rdbms mongodb nosql

我是MongoDB的新手.我MongoDB does not support multi-document transactions在这里读到http://docs.mongodb.org/manual/faq/fundamentals/.

如果我想原子地将数据保存在两个集合(A和B)中,那么我不能使用MongoDB这样做,即如果在B的情况下保存失败,仍然A将拥有数据.这不是一个很大的劣势吗?

人们仍在使用MongoDB而不是RDBMS.为什么?

Mit*_*Jha 10

MongoDB 4.0 现在增加了对多文档 ACID 事务的支持。供参考参考


Ton*_*ony 9

MongoDB不支持多文档事务.

但是,MongoDB确实在单个文档上提供原子操作.通常,这些文档级原子操作足以解决在关系数据库中需要ACID事务的问题.

例如,在MongoDB中,您可以将嵌套数组或嵌套文档中的相关数据嵌入到单个文档中,并在单个原子操作中更新整个文档.关系数据库可能表示具有多个表和行的相同类型的数据,这需要事务支持以原子方式更新数据.


sta*_*alk 5

MongoDB 不支持事务,但保存一个文档是原子的。

因此,最好以这种方式设计您的数据库架构,即所有需要以原子方式保存的数据都将放置在一个文档中。