2014-06-08 97 views
1

我的應用已打開自動發佈。流星獲取創建用戶和電子郵件

我想創建一個頁面,顯示註冊用戶的列表,他們的電子郵件以及他們的創建時間。所以我從Meteor.users集合中構建了網格。

我分析的信息,這樣

{{#each users}} 
<ol> 
    <li> 
     {{username}} 
    </li> 
    <li> 
     {{emails[0].address}} 
    </li> 
    <li> 
     {{createdAt}} 
    </li> 
</ol> 
{{/each}} 

但是我設法只得到了用戶名。電子郵件在網格中返回[Object object],並且createdAt返回空白。

我該如何正確解析這兩個字段?

回答

2

首先,您需要自己發佈用戶的數據。 autopublish確實會這樣做,但它限制了字段。

將數據發佈到您自己的下面,您可以使用fields選項明確定義您希望客戶端看到哪些字段。通過自動發佈這些字段通常只是用戶名和個人資料。

服務器端

Meteor.publish("users", function() { 
    return Meteor.users.find({}, {fields:{createdAt: true, profile: true, emails: true, username: true}}); 
}); 

客戶端

Meteor.subscribe("users"); 

那麼你應該能夠看到.createdAt和電子郵件了。

爲了您的電子郵件,你需要使用{{emails.[0].address}}[]在Spacebars不起作用/把手像它會在JavaScript

+0

能否請您更改「用戶」到「用戶數據」?另外,我嘗試了'{{emails.0.address}}'但服務器控制檯顯示錯誤'=>錯誤阻止了啓動: 構建應用程序時: client \ views \ user \ user.html:76:Expected IDENTIFIER ... {{emails.0.address}} ... ^ =>您的應用程序有錯誤。等待文件更改。 ' –

+0

你能解釋一下嗎? –

+0

@HaikalNashuha對不起,我在我的答案中犯了一個錯誤,我現在更新了它 – Akshat