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 で導入された新しい変換コレクション関数を使用する可能性があります。

コレクションを宣言するとき、この関数を 2 番目のパラメーターとして追加します。

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

ただし、これはサーバーとクライアントの両方にあります。パブリッシュ コンテキストで変換関数を定義する方法があるかどうかはわかりません。

于 2013-03-20T00:52:14.000 に答える
1

Publish のこの Meteor カウントの例と同様のことを行う必要があると思います: How does the messages-count example in Meteor docs work?

また、回答があれば役立つかもしれない質問をここに投稿しました。Meteor には this.added があり、動作する可能性がありますが、現在のところ使用方法が不明です。したがって、以下の質問: Meteor、1 対多の関係 & パブリッシュのクライアント側コレクションにのみフィールドを追加しますか?

于 2013-12-19T18:10:16.067 に答える