Meteor如何使用mongodb集合中的数组

时间:2015-04-28 13:19:46

标签: arrays mongodb templates meteor

尝试使用具有数组的Mongodb集合。想要在模板中使用该数组。

Index.html

<body>
{{>test}}
</body>
<template name="test">
{{ #each task}}
 <p>{{this}}</p>
 {{/each}}
 </template>

The app.js

Task= new Mongo.Collection("Tasks");

if (Meteor.isClient) {
  // This code only runs on the client
  Template.test.helpers({
    task: function () {
      return Tasks.find({"cat":"TASK"}, {"_id":0, "ALL_TASKS":1});
    }
  });
}

if (Meteor.isServer){

    if (Task.find({}).count() === 0){
      Task.insert({"cat":"TASK", "ALL_TASKS":["t1","t2"]})
    }

}

它不起作用。我错过了什么

1 个答案:

答案 0 :(得分:0)

您应该再使用一个{{#each}}。您正在使用的{{#each}}返回集合对象而不是实际需要的数组。试试这个:

 <template name="test">
   {{#each task}}
       {{#each this.ALL_TASKS}}
         <p>{{this}}</p>
       {{/each
   {{/each}}
 </template>

请注意,this.ALL_TASKS现在循环遍历集合对象内的数组。

你的助手看起来像这样:

if (Meteor.isClient) {
 // This code only runs on the client
  Template.test.helpers({
   task: function () {
    return Tasks.find({"cat":"TASK"});
   }
 });
}