MeteorJS newbie here。私はフィールドがある "投稿"のコレクションを持っています:title、createdAt、body、userId。私は2人のユーザーしかいませんが、投稿ごとに異なるユーザーIDがあるようです。私は基本的には、ブログ投稿をそれぞれのユーザーの電子メールとともに表示したいだけです。次のように私の現在の実装であり、それは現在のユーザではなく、ブログ記事の電子メールの所有者の電子メール表示されます。MeteorJSスタックを使用して、投稿した投稿からuserIdを使ってユーザの電子メールを取得するにはどうすればいいですか?
"click .main-feed-post" : function(event) {
...
document.getElementById('post-view-email').innerHTML = Meteor.users.findOne({_id: this.userId}).emails[0].address;
...
}
現在はログインしているユーザーの電子メールアドレスを出力しています。前は個々のブログ投稿を表示するためのものです。また、私はすべてのブログの記事と、それぞれの所有者の電子メールをリストメインフィードを持っている:
{{#each posts}}
<li class="main-feed-post">
{{title}}
<div class="main-feed-post-data">
<label>BY</label> {{getUserEmail}} <label>AT</label> {{formattedDate}}
</div>
</li>
...
getUserEmail : function() {
return Meteor.users.findOne({_id: this.userId}).emails[0].address;
}
{{/each}}
それが現在のユーザーの電子メールでない限り、これは、何も出力されません。理想的には、ユーザーオブジェクトにユーザー名フィールドを追加して、userIdまたは電子メールの代わりにそれを表示します。 accounts-uiとaccounts-passwordパッケージを使ってこれを実装する方法がわかりません。どんな助けも歓迎です!前もって感謝します!サーバー内
Meteor.users.find()(フェッチ) コンソールから...これは、現在のユーザーのみを返しています。 .. "安全でない"パッケージを削除することで、ユーザーが自分以外のユーザー情報にアクセスすることを制限しましたか? – programmingmusic