Database 启用没有副本集或配置最少的MongoDB事务
[一些背景信息-可能会跳过] 首先,我对数据库管理几乎一无所知 而且只是对后台的mongoose和node的肤浅体验 领域(我的几个课程)。我的课程让我相信 对于具有关系数据库的数据库来说,mongodb仍然是一个可行的选择 属性和关闭我去了一个后端工作的论坛,如 网站。在了解了事务之后,我尝试实现 他们在我的后端,因为它似乎完全有必要实现一个 执行查询数组时的回滚功能。不管怎样 我们发现,事务只能在副本集上进行,而副本集 似乎至少需要2个。启动MVP需要3个数据库 显然,这被认为是一种过激行为 [问题]Database 启用没有副本集或配置最少的MongoDB事务,database,mongodb,transactions,replicaset,mongodb-replica-set,Database,Mongodb,Transactions,Replicaset,Mongodb Replica Set,[一些背景信息-可能会跳过] 首先,我对数据库管理几乎一无所知 而且只是对后台的mongoose和node的肤浅体验 领域(我的几个课程)。我的课程让我相信 对于具有关系数据库的数据库来说,mongodb仍然是一个可行的选择 属性和关闭我去了一个后端工作的论坛,如 网站。在了解了事务之后,我尝试实现 他们在我的后端,因为它似乎完全有必要实现一个 执行查询数组时的回滚功能。不管怎样 我们发现,事务只能在副本集上进行,而副本集 似乎至少需要2个。启动MVP需要3个数据库 显然,这被认为是一种过激行为
谢谢你的阅读 您需要一个副本集[*]来使用事务,但您可以创建一个单节点副本集用于测试目的 本文描述了完整的过程,对于单个节点RS,您可以按照编写的步骤进行操作,但只配置单个成员 简单地说,您需要将
--replSet
参数传递给mongod
,然后通过mongo
shell连接到它,然后运行rs.initiate()
请注意,事务并不是解决所有问题的灵丹妙药。有些情况下它们是合适的,有些情况下MongoDB提供了更适合的其他功能
[*]或MongoDB 4.2+的分片集群,但这需要更多的设置工作