如果我们的文档只有基元类型的数组,我们是否需要在mongodb中使用transaction



我是mongoDb的新手,我在mongoDb文档中处理事务,发现这一部分令人困惑。https://www.mongodb.com/docs/manual/core/transactions/"因为您可以使用嵌入式文档和数组来捕获单个文档结构中数据之间的关系,而不是跨多个文档和集合进行规范化;

在这种情况下,数组是否也包括基元类型的数组?和中一样,如果我的文档只有基元类型的数组,而没有嵌入文档,我还需要使用transaction吗?

文档所回避的是,如果您只更新单个文档,则不需要使用事务,因为它已经是原子文档。

某些跨文档或跨集合关系可以使用带有嵌入对象和数组的单个文档进行建模。如果你可以将你的场景建模为使用单个文档,那么你就不需要在上全部使用事务

{
name : "Father",
id : 1, 
children: [
{ name : "Jack" , age : 13 , parent: 1},
{ name : "Jil" , age : 5, parent: 1}
]
}

可以是单个文档,而不是两个Parent和一个Child集合。

在您的情况下,数组是否原始并不重要,只要它没有交叉文档或交叉集合引用即可

相关内容

最新更新