许多更新MongoDB中我有两个集合了许多一对多的关系。我想在两个文档中存储一个链接的ObjectIds数组,以便我可以将文档A和快速检索所有链接的文档B,反之亦然。许多无需交易
创建这个链接是一个两步过程
- 添加文档A的ObjectID到文档B
- 添加文件B的ObjectID文件A
看MongoDB的视频,我发现这之后是存储两个集合
我需要确保两个更新是由之间的许多一对多关系的推荐方式。在没有交易的情况下,强健处理这个关键的两步过程的建议方法是什么?
我可以将此关系压缩为单个链接集合,优点是单个更新,没有文档B缺少指向文档A的链接的机会。缺点是我没有真正按照预期使用MongoDB。但是,因为只有一个更新,所以具有定义多对多关系的链接集合似乎更加健壮。
我应该使用安全模式和手动检查数据进去之后,失败再试一次?或者,我应该只在其中一个集合中表示多对多关系,并依靠索引来确保我仍然可以快速获取链接文档?
有什么建议吗?由于
谢谢,我在我的问题中考虑了这种方法,但在视频中,我看到这并不推荐作为MongoDB的方式 – 2011-02-14 13:39:59
视频是一个授权信息来源吗? MongoDB只为单一操作提供原子性。如果事务支持很重要:或者不要使用MongoDB,或按照描述使用MongoDB。你不能拥有一切。 – 2011-02-14 13:57:13