公開機能の中でサーバに一時的なフィールドを追加する方法はありますか?私は仕事に慣れたり変身したりすることができないようです。一時ファイルを追加するにはどうすればいいですか?フィールドをメテオに公開する
私は、同じコレクションの「リスト」に対して2つのサブスクリプションを持っています。特定のリスティングを購読してチャットルームのリストに利用できるようにしたいときもありますが、問題はそれらが私の「リスティング」テンプレートに表示されていることです。ユニークな部分は、パフォーマンス(大規模な配列)のためにサーバー上にありました。
理想的には、 'forChat:true'のような余分なフィールドを追加して、リストテンプレートでそのフィールドを確認し、 'forChat'フィールドを持たないリスティングのみをプルすることができます。
現在、リストのテンプレートがユーザーのIDが内部にあるかどうかを確認できるように、「好きな」&の「嫌い」の配列を送信しています。しかし、長さ〜=(ユーザー/ 2)のために、これは時間とともに(およびモバイル上で)うまく調整されません。
// ideal-ish pseudo code if we could return arrays:
Meteor.publish('chats', function(id) {
lists = Listings.find(...).fetch();
return lists.map(function(list){
return list.forChat = true;
});
});
これも可能ですか?ハッキーの種類、しかし、私はすべてのリストにフィールドを追加し、他の出版物でそれを省略することができると思います。受け入れ答えを下から
の作業コード:
Meteor.publish('listingsForChats', function(id) {
var cursor = Listings.find(...);
// insert a temp `forChats:true` field to filter in listings template
cursor.forEach(function(doc) {
doc.forChats = true;
this.added('listings', doc._id, doc);
}, this);
this.ready();
});
ありがとうございます!それは最高です。私は、将来の読者のために上記の作業コードを追加しました。 – SkinnyGeek1010