2016-04-14 78 views
0

MeteorJS新手在這裏。我有一個「帖子」的集合,其中包含字段:title,createdAt,body,userId。儘管我只有兩個用戶,但每個帖子似乎都有不同的userId。我基本上只想顯示博客文章,以及他們各自的用戶的電子郵件。我目前的執行情況如下,它會顯示當前用戶,而不是博客文章的電子郵件的所有者的電子郵件:使用MeteorJS堆棧,如何從他們發佈的帖子中檢索用戶的電子郵件

"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軟件包來實現這個功能。歡迎任何幫助!提前致謝!

+0

Meteor.users.find()取() 從控制檯...這只是返回當前用戶。 ..通過刪除「不安全」軟件包,我是否限制用戶訪問除自己以外的任何用戶信息? – programmingmusic

回答

0

內部服務器:

Meteor.publish("allUsers", function() { 
    return Meteor.users.find({}); 
}); 
Meteor.publish("allUserData", function() { 
    return Meteor.users.find({}, {fields: {"emails.address": 1}}); 
}); 

內部客戶:

Meteor.subscribe("allUsers"); 
Meteor.subscribe("allUserData"); 
相關問題