在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,该条目包含有关该人的更多详细信息。
该系统旨在允许用户从项目名称向下钻取到项目详细信息到人员详细信息(或激活项目详细信息模板中的数据编辑)。
我很难理解如何继续将Project详细信息文档呈现为反应模板(递归循环并向下钻取文档)。如果我做错了,我也很乐意改变项目集合的结构。
任何想法都会受到极大的赞赏。
答案 0 :(得分:1)
首先,制作一个渲染项目的模板。然后在侧栏上设置一个事件监听器,这样当用户单击一个项目时,会设置一个包含当前项目ID的会话值。让项目模板监听Session值以绘制相应的项目。
在项目模板中,使用{{#each person}}创建人员列表,然后让模板在项目中绘制人员。您应该编写一个方便的方法,通过给定的person_id来获取该人。
我会在我的答案中添加代码,但这里有很多事要做,所以如果你无法弄清楚,请说明你遇到的问题,我会尽力帮助。