如何在MongoDB中对邮政地址建模(相对于关系)

时间:2018-08-15 07:50:28

标签: mongodb relational-database

在尝试学习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中建立这种关系的最佳方法是什么?也许没有最佳方法取决于应用程序?但是,如果是这样,那会不会将数据层与应用程序逻辑联系在一起?

0 个答案:

没有答案