2016-04-14 18 views
0

私はこのように加入しています。このユーザー情報(FYIテストとして、生産にこのすべての情報を明らかにするつもりはない)サブスクリプションがMeteor.user()にデータを追加していないのはなぜですか?

Meteor.publish('user.private', function userPrivate() { 
    if (!this.userId) { 
    return this.ready(); 
    } 

    return Meteor.users.find({ 
    _id: this.userId 
    }, { 
    fields: { 
     'services.microsoft': 1, 
     'services.google': 1 
    } 
    }); 
}); 

を公開しています:私は確認されてきた

Template.App_body.onCreated(function appBodyOnCreated() { 
    this.subscribe('user.private'); 
}); 

この正確なクエリが動作し、meteor mongoを使用してデータを返しますが、この情報はクライアントのMeteor.user()呼び出しには表示されません。私は間違って何をしていますか?

答えて

1

パブリケーション名をnullに変更して自動的にパブリッシュするようにしてください。

Meteor.publish(null, function() { 
    return Meteor.users.find(this.userId, { 
    fields: { /** ... fields here */ } 
    }); 
}); 
+0

どのように/なぜこの作品がわかりますか?自動的に公開すると言うと、依然として購読通話が必要ですか? –

+1

Nah、購読する必要はありません。「null」に設定されている場合は自動的に設定する必要があります。ヌル値は本質的に「何を問わず公開する」ことを意味します。 – corvid

関連する問題