【发布时间】:2014-11-27 09:14:30
【问题描述】:
我在 Meteor 中从 MongoDB 获取一个文档,如下所示:
Template.SubTasks.helpers ({
subelement: function (){
var sublen = TodosCol.find(this);
// var sublen2 = ????
return sublen2;
}
});
效果很好,sublen 作为对象返回。但是当我尝试将其转换为数组时(例如:
var sublen2 = sublen.toArray();
或
var sublen = TodosCol.find(this).toArray();
或整个集合(没有“this”),它不起作用,我在 chrome 控制台中收到“未定义不是函数”错误。
我也试过了
var sublen2 = sublen.propertyName;
因为它是一个对象,所以没有运气。
我做错了什么?
谢谢
编辑:
我正在尝试迭代存储在 mongo 文档中的数组中的值。例如,我想将它们输出为单独的 div。这是一个简单的任务列表。任务迭代得很好,但我正在尝试输出分配给特定任务的子任务。子任务作为字符串数组存储在与其“父任务”相同的文档中。
模板:
<template name='SubTasks'>
<div class='sub-output {{_id}}'>
{{#each subelement}}
<div class='sub-task {{_id}}'>
{{subtask}}
</div>
{{/each}}
</div>
</template>
【问题讨论】:
-
你想通过将它转换成数组来达到什么目的?分享你的 html 代码,以便我们清楚地了解你在做什么..
-
我正在尝试迭代存储在 mongo 文档中的数组中的值。例如,我想将它们输出为单独的 div。这是一个简单的任务列表。任务迭代得很好,但我正在尝试输出分配给特定任务的子任务。子任务作为字符串数组存储在与其“父任务”相同的文档中。模板:{{#each subelement}}{{subtask }}{{/each}}
-
subelement是一个数组,对吧?在您的 html 中,您可以使用{{#each subelement}} {{this}} {{/each}}`。您不必为此创建另一个助手。
标签: javascript mongodb meteor toarray