【问题标题】:Rendering MongoDB documents with Meteor使用 Meteor 渲染 MongoDB 文档
【发布时间】:2012-08-01 05:57:33
【问题描述】:

问题是:如何显示从MongoDB返回的复杂文档。

假设我的 Projects 集合中有两个项目,并且每个项目都有 2 个人,他们通过 People 集合中的 ID 嵌入。 Project.find() 返回此 CURSOR,我将其呈现为 JSON 以提高可读性:

{ "_id" : "5ed5ade8-c140-46f7-8d9e-2344fc53df8e",  "name" : "Project1", "personnel" : [ "b4690c4b-d126-4737-8f40-921234567890", "977a6335-a1be-4af5-8b3f-4abcdefghijk" ] }
{ "_id" : "23f073c7-a713-4713-86a7-7d6600433146", "name" : "Project2", "personnel" : [ "b4690c4b-d126-4737-8f40-92b43072d7a1", "977a6335-a1be-4af5-8b3f-48cd5f8328db" ]}

我在 .html 文件中的模板:

<template name="theProjects">
     {{#each theTitles}}
          Name: {{name}}
          Personnel: {{personnel}}
     {{/each}}
</template>

在浏览器中渲染:

名称:项目1

人员:b4690c4b-d126-4737-8f40-921234567890,977a6335-a1be-4af5-8b3f-4abcdefghijk

名称:项目2

人员:b4690c4b-d126-4737-8f40-92b43072d7a1,977a6335-a1be-4af5-8b3f-48cd5f8328db

问题:

  1. {{personnel}} 字段只是由 Projects 集合中的 person 数组的内容填充。我想在他们自己的行上单独列出这些。想不通。仅仅切片是不行的,因为...

  2. 显然,更大的需求是能够操作和编辑人员数据,因此模板必须能够正确响应 Meteor。

  3. 现在最难的是:People 集合中的人员 ID 嵌入到项目文档中。我将如何使用 Meteor 将 ID 替换为来自 Personnel 集合的适当名称,并仍然保持其数据反应性?

我知道有很多问题要问,但这些东西似乎是更大、更复杂网站的基础。

谢谢大家。

【问题讨论】:

    标签: meteor


    【解决方案1】:

    https://gist.github.com/3220991

    这是我向您展示使用 Handlebars 助手的要点。这将保持反应性并且非常易于使用。我希望你可以使用它。

    如果您需要更多帮助或 cmets,请提及我。

    【讨论】:

    • 嗯。我收到一个 JavaScript 错误,即 for 行上未定义“上下文”。
    • @LarryRobbins 你能概括一下你的实现吗?确保将正确的参数传递给打印函数。
    • 我的愚蠢。我的一些项目还没有人员,所以回来未定义。您的解决方案完美运行。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2013-09-02
    • 2017-06-05
    • 1970-01-01
    相关资源
    最近更新 更多