【发布时间】:2020-06-12 11:44:55
【问题描述】:
[一些背景信息 - 可以跳过]
首先,我对数据库管理几乎没有任何了解 并且只是在后端使用猫鼬和节点的浅薄经验 领域(几个udemy课程)。 Udemy 课程让我相信 对于具有关系的数据库,mongodb 仍然是一个可行的选择 属性,然后我开始为类似论坛的后端工作 网站。在了解交易后,我尝试实施 它们在我的后端,因为似乎完全有必要实现一个 执行查询数组时的回滚功能。然而它转 交易只能在副本集上进行 - 这也 似乎至少需要 2 个。启动 MVP 的 3 个数据库是 显然被认为是矫枉过正。
[问题]
是否可以仅使用 1 个数据库实现事务?如果有怎么办?
如果上述情况不可行,如何在实现事务时以最低配置启动 mongodb 数据库,同时考虑到该数据库是为启动 MVP 考虑的。
(适用于在类似场景中实现生产级 mongo 数据库经验的任何人)如果考虑不使用事务,如何在没有事务的情况下安全地将编辑/创建多个文档的查询发送到 mongoDB 数据库,而不要使用包含查询的 try-catch 来喷洒每一段代码以回滚每个故障点(我认为这开销太大)
我的截止日期很紧,并且已经使用 mongoose 完成了大量基础工作和几条路线,这意味着目前放弃 mongodb 转而使用关系数据库将是一个困难的选择。
我想我已经用谷歌搜索了与该主题相关的所有内容,甚至在谷歌搜索的第二页尝试了博客/文章(包括我自己在内的许多人都认为这是暗网/s)。 但我确实认为我可能错过了我正在寻找的内容,也欢迎仅包含链接的答案。
感谢您的阅读!
【问题讨论】:
标签: database mongodb transactions replicaset mongodb-replica-set