1

在 Metoer 应用程序中,mongodb 集合包含描述项目的文档。他们在人员、头衔和其他事实方面差异很大。

当用户从侧边栏列表中选择一个项目时,我想将文档中的所有信息呈现给一个反应模板。

侧边栏列表可能如下所示:

  • 布鲁克林大桥
  • 胡佛水坝埃菲尔

胡佛水坝的 mongo 文档可能如下所示:

{
"_id": "dksld888-aaaa-12345",
"name" : "Hoover Dam",
"year_built" : 1931,
... other facts... 
"architects" : 
    [
        {
          "person_id" : "1a2d528c-6509-4c3a",
          "title" : "Lead Designer"
        },
        {
           "person_id" : "4a3d-81e0-5a3f-2343",
            "title" : "Assistant"
        }
    ]
... other job descriptions... 
}

person_id 字段包含另一个集合中条目的 ObjectID,该集合具有关于该人的更多详细信息。

该系统旨在允许用户从项目名称向下钻取到项目详细信息再到人员详细信息(或激活项目详细信息模板中的数据编辑)。

我不知道如何继续将项目详细信息文档呈现为反应性模板(递归循环并深入了解文档)。如果我做错了,我也很乐意更改项目集合的结构。

任何想法将不胜感激。

4

1 回答 1

1

首先,制作一个渲染项目的模板。然后在您的侧边栏上设置一个事件监听器,以便当用户单击一个项目时,会设置一个包含当前项目 ID 的 Session 值。让项目模板监听 Session 值来绘制相应的项目。

在项目模板中,使用 {{#each person}} 创建人员列表,然后让模板在项目中绘制人员。您可能应该编写一个方便的方法,通过给定的 person_id 获取人员。

我会在我的答案中添加代码,但这里有很多事情要做,所以如果你无法弄清楚,请说明你遇到了什么问题,我会尽力提供帮助。

于 2012-12-26T21:53:33.367 回答