0

我是 web 开发的新手,我成为了流星的粉丝,因为它让我很容易做很酷的东西。我一直在玩弄聚会的例子,我为聚会添加了一个日期属性。我只想为客户订阅尚未过期的各方。

基本上 datenow <partydate 的地方。

我发现自己一直在编写正确的订阅代码,因为我只找到有关如何根据数据库属性进行订阅的文档,而不是基于将聚会日期与当前日期进行比较的文档。

Meteor.subscribe("派对"); --> 我认为这是我需要编辑的客户端代码的一部分。

我真的希望有人可以向我展示编写正确订阅代码的正确方向。

4

1 回答 1

0

客户端订阅服务器愿意发送给他们的内容。

if(Meteor.isClient){
  Meteor.subscribe("parties");
}

服务器过滤客户端不应该拥有的数据,通常是出于安全原因。您不希望公开密码或私人信息。任何客户端都可以打开控制台并浏览发布给他们的完整数据集。

if(Meteor.isServer){
  Meteor.publish("parties", function(){
    return Parties.find({date: {$gt: Date.now()}});
  });
}

如果您希望客户端能够同时看到过期方和未过期方,您可以从服务器发布整个集合,然后在模板助手中在客户端上对其进行过滤。

if(Meteor.isServer){
  Meteor.publish("parties", function(){
    return Parties.find();
  });
}
if(Meteor.isClient){
  Meteor.subscribe("parties");
  Template.templateName.allParties = function(){
    return Parties.find();
  }
  Template.templateName.activeParties = function(){
    return Parties.find({date: {$gt: Date.now()}});
  }
}
于 2014-03-23T07:21:17.650 回答