我是MongoDB的新手。我在http://docs.mongodb.org/manual/faq/fundamentals/这里读到了那个MongoDB does not support multi-document transactions
。
如果我想将数据原子地保存在两个集合(A和B)中,那么我不能使用MongoDB来实现这一点,也就是说,如果在B的情况下保存失败,A仍然可以保存数据。这不是一个很大的缺点吗?
尽管如此,人们仍然在使用MongoDB而不是关系型数据库。为什么?
发布于 2018-09-19 06:58:17
MongoDB 4.0现在添加了对多文档ACID事务的支持。参考See Refrence
发布于 2014-11-21 05:07:54
MongoDB不支持multi-document事务。
但是,MongoDB确实提供了对单个文档的原子操作。通常,这些文档级原子操作足以解决在关系数据库中需要ACID事务的问题。
例如,在MongoDB中,您可以将相关数据嵌入到单个文档中的嵌套数组或嵌套文档中,并在单个原子操作中更新整个文档。关系数据库可能用多个表和行来表示同一类型的数据,这将需要事务支持才能自动更新数据。
发布于 2014-11-20 11:43:40
MongoDB不支持事务,但是保存一个文档是原子的。
因此,最好将数据库模式设计为这样一种方式,即所有需要原子保存的数据都放在一个文档中。
https://stackoverflow.com/questions/27038391
复制相似问题