我一直在研究MongoDB以及它与传统SQL数据库的比较。我试图理解在切换到RDBMS之前合并跨文档/对象引用在多大程度上是有意义的。我理解多对多关系非常需要它(考虑到重复和一致性的问题),以及具有多个一对多关系的某些场景 - 例如以下example from the docs ...
{
_id: "joe",
name: "Joe Bookreader",
addresses: [
{
street: "123 Fake Street",
city: "Faketon",
state: "MA",
zip: "12345"
},
{
street: "1 Some Other Street",
city: "Boston",
state: "MA",
zip: "12345"
}
]
}
...要求说出property_developer
(有自己必需的属性集)和地址之间的另一对多关系。
根据我对MongoDB的初步了解,我原本猜测交叉引用的要求将默认SQL作为不用脑子,但我发现它似乎是我可以接受的设计模式(错误地?)被理解为非关系型数据库。那么对于考虑NoSQL / MongoDB的人来说,是否有一般的经验法则可以确定他们的需求是否更适合传统的RDBMS?