在MongoDB中嵌套内容

时间:2014-01-31 02:52:05

标签: mongodb database-design

我正在构建一个具有以下结构的旅行应用程序

集合 地方 分类

在时间一个地方会有很多与之相关的地方。它可以是一个区域,例如

Coorg在Coorg有许多地方,如Talakaveri,Brahmagiri Hills

我有地方的以下结构

[
    {
        "_id": "PLACE-ID",
        "name": "",
        "slug": "",
        "decription": "",
        "display_photo": [
            {
                "title": "",
                "file": "",
                "credit": ""
            }
        ],
        "location": [
            {
                "city": "",
                "state": "",
                "country": "",
                "coordinates": ["<longitude> ", "<latitude>"]
            }
        ],
        "categories": ["", ""]
    }
]

在必要时添加父母或子女名额的链接的最佳方法是什么?我是否需要插入_id或需要另一个存储这些关系的集合。

1 个答案:

答案 0 :(得分:1)

架构设计中最重要的部分是考虑您的数据使用模式。需要特别考虑:

  1. 您将如何访问和显示数据。
  2. 组合查询/过滤所需的文档和子文档属性是什么
  3. 为了获得最佳的应用程序性能,您的目标是尽可能少地通过网络流量,因此最终目标是能够以尽可能少的请求获取您的信息并回写。每个方向最好1个。

    尝试尽可能多地将有用信息输入到1个文档中,并且只在必要时才转到引用。