我对 MongoDB 完全陌生,正在考虑使用 JDO 作为不可知层将我的基本持久性代码(对于许多项目)转移到它。所以我是从一个喜欢以 bean 作为基本模型单元工作的 Java 开发人员的角度来问这个问题的。
我的问题是关于子文档以及它们是独立存在还是由 MongoDB 在内部合并。即,如果我有这样的域结构:
家庭 - 人员集合
Person
- name
- address
Address
- street
- postcode
如果我有一个家庭的文件,它将有多个人,但每个人都有相同的地址。
每个地址是否会是 MongoDB 中的一个不同且独立的实体(即使它们是相同的“类”并且具有相同的值。或者 Mongo 是否以某种方式识别它们指的是同一个实体并在内部为每个地址存储一个 UID?
更重要的是。如果我更新一个地址的邮政编码,这是否意味着家庭地址子文档的每个成员都会反映该更改?
似乎如果确实如此,那么它就会误入关系领域,但是如果没有这样的引用,我会看到可怕的低效率出现吗?