2015-12-18 73 views
0

我学习流星,我为实践目的构建了一个非常基本的应用程序。 我刚刚安装了Collection FS,并且使用cfs:filesystem上传文件。 我有一个名为待办事项女巫收藏有其中包括以下字段:通过使用Meteor.js迭代MongoDB集合

"files" : [ "/cfs/files/files/HPxaJrEbvNjcnmA6m/files?store=files", "/cfs/files/files/jfKua2BszyfqiKYYu/files?store=files" ] 

该插件通过方法做了服务器端:

'addFiles':function(id,url){ 
    todos.update(id, { 
    $push: {files:url} 
    }); 

我如何可以通过这些迭代,以把他们的网址在我的模板?

我在尝试的模板是什么:

{{#each todos}} 
{{#each files}}<a href="{{files}}" target="_blank"> file</a>{{/each}} 
{{/each}} 

的击打这使得刚刚<a target="_blank"> file</a> 如果文件对象还没有得到我不想表现出任何网址值。 我该怎么做?

回答

1

我假设你正确订阅todos收集和有帮助:

Template.NAME.helpers({ 
    todos : function(){ 
     return todos.find(); 
    } 
}) 

在模板名称试试这个:

{{#each todos}} 
    {{#each this.files}} 
    <a href="{{this}}" target="_blank"> file</a> 
    {{/each}} 
{{/each}} 

如果files是空的,那么什么都不会显示。

+0

太棒了!只要SO让我接受你的答案。非常感谢你!我不知道{{this}}属性。 – Kostenko