对 Meteor 集合中的帖子进行分类

Categorizing Posts in a Meteor Collection

我有一个名为 Posts 的 Meteor 集合,如下所示:

Posts = new Meteor.Collection('posts');

我想按我称为 "genre" 的字段对它们进行分类,并在导航栏的不同选项卡中显示不同类型的帖子。我试过为 meteor 安装标签并创建多个 Collections,但这些尝试都没有成功。

有谁知道如何将一个帖子集(如果可能)分类为不同选项卡上的多个提要并按创建时间对它们进行排序?

其实这对 meteor 来说很简单

如果您不知道事件处理程序或插入到集合中,您应该首先像这样创建事件处理程序,请查看 insert method on Mongo.Collections and event handlers Meteor Events Handlers

这是事件处理程序在 MeteorJs 上的样子

template.navbar.events({
  'click #button':function(){
    Posts.insert({genre:"Rock"})
   }
 })

或者如果您想跳过事件处理程序(仅用于测试目的),请创建一个名为 /Server 的文件夹,其中包含名称为 testInsert.js 的文件,代码为

所以我们的路径看起来像这样/appName/server/testInsert.js

if (Posts.find().count() === 0) {
  Posts.insert({
    genre: 'Rock',
  });

  Posts.insert({
    title: 'Music',
  });

  Posts.insert({
    title: 'Art',
  });
}

现在我们需要在 Meteor 模板上显示帖子数据,所以我们需要 Meteor Template.helpers

Template.navbars.helpers({
  showGenre:function(){
   return Posts.find();
  }
})

这就是我们在模板上调用该助手的方式,Meteor 在模板上使用空格键引擎。

如果您想深入了解 Spacebars,请查看此 Understanding Spacebars

 <template name="navbars">
    {{#each showGenre}}
      <!-- navbar stuff go here -->
      {{genre}} <!-- here you are only calling genre field from Posts Collection -->
    {{/each}}
  </template>

走得更远

运行 此命令用于获取一些 meteor 应用示例。

meteor create --example todos or
meteor create --example localmarket

或者如果你想更正确地学习流星

可以看看this resources