5

我想为发布到客户端的对象添加一个属性。

我的发布功能看起来像这样

Meteor.publish("forms", function() {
  return Forms.find();
});

我想做这样的事情

Meteor.publish("forms", function() {
  var forms = Forms.find();
  forms.forEach(function (form) {
     form.nbForms = 12;
  }

  return forms;
});

我想要的是其中的所有文档forms都有一个新count属性,该属性会发送给客户端。

但这显然是行不通的。

谢谢您的帮助

4

2 回答 2

2

不确定它是否适用于您的情况,但您可以使用 Meteor 0.5.8 引入的新转换集合功能

声明您的集合时,将此函数添加为第二个参数:

Forms = new Meteor.Collection("forms", {
     transform: function(f) {
         f.nbForms = 12;
         return f;
     }
});

但这将在服务器和客户端上。我不知道是否有办法在发布上下文中定义转换函数。

于 2013-03-20T00:52:14.000 回答
1

我认为您需要在 Publish 中执行类似于 Meteor 计数示例的操作: Meteor 文档中的消息计数示例如何工作?

我还在这里发布了一个问题,一旦得到回答可能会有所帮助。Meteor 有一个 this.add 可能有用,但我目前不确定如何使用它。因此出现以下问题: Meteor,一对多关系和仅将字段添加到发布中的客户端集合?

于 2013-12-19T18:10:16.067 回答