在尝试学习MongoDB时,我在文档中看到了以下内容:
{
_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"
}
]
}
来自关系数据库的背景,这为我敲响了许多警钟。
我们不是要复制很多数据吗?而且,如果我们要列出所有居住在邮政编码中的人,那么搜索所有人的花费不是很昂贵吗?
我的第一个直觉是将数据标准化并将其分成与id链接的不同json文档。但是,这很快成为一种关系模型。
那么在MongoDB中建立这种关系的最佳方法是什么?也许没有最佳方法取决于应用程序?但是,如果是这样,那会不会将数据层与应用程序逻辑联系在一起?