【问题标题】:Render a Complex Mongo Document to a Template in Meteor App在 Meteor App 中将复杂的 Mongo 文档渲染为模板
【发布时间】:2012-12-27 05:53:33
【问题描述】:

在 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,该集合包含有关该人的更多详细信息。

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

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

任何想法都将不胜感激。

【问题讨论】:

    标签: mongodb meteor


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-08-24
      • 1970-01-01
      • 2014-12-12
      • 2015-06-11
      • 2017-05-17
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 2015-12-22
      相关资源
      最近更新 更多