2016-02-21 130 views
0

我有用戶表訪問對象模板

Template.followers.helpers({ 
    followers: function() { 
     return Meteor.users.find({_id: Meteor.userId()},{_id:0,followers:1, profile:1}); 
    } 
}); 

現在我要顯示的數據,其結構如下單個文件

{ 
    "profile" : { 
     "name" : "new user", 
     "gender" : "" 
    }, 
    "followers" : [ 
     { 
      "id" : "yQLrjsbAnKHW7Zoef", 
      "name" : "vid vid" 
     }, 
     { 
      "id" : "bGLrjsbAnKHW7Zoef", 
      "name" : "sid sid" 
     } 
    ] 
} 

和我的助手功能只是追隨者爲:

name: Vid 
name: Sid 

基本上我想訪問我的模板中的追隨者數組中的元素。 目前它的

{{#each followers}} 
     {{ profile.name}} 
     {{ followers}} 
{{/each}} 

回答

0

修正了它。

問題是Meteor.users.find()只返回有限的字段。首先,我嘗試在發佈users的方法中使用字段說明符,但這不起作用。所以,以下是我做過什麼:

在服務器端,聲明新的變量爲: 輸入代碼在這裏

Meteor.publish('UserProfiles', function() { 
    return UserProfiles.find({},{ 
    fields : { 
     'followers' : 1, 
     'profile' : 1, 
     'createdAt' : 1 
    } 
}); 

:在這裏我指定我需要的領域

UserProfiles : = Meteor.users; 

增加了新的發佈方法});

添加以下行客戶端:

UserProfiles : = Meteor.users; 
Meteor.subscribe("UserProfiles"); 

然後在我的文件,我開了查詢並返回:

users: function(){ 
    return UserProfiles.find(selector, { 
     fields : { 
      'followers' : 1, 
      'profile' : 1, 
      'createdAt' : 1 
     } 
    }); 
} 

內模板代碼:

{{#each users}} 
    Follower of {{profile.name}} 
    {{#each followers}} 
      {{> follower}} 
    {{/each}} 
{{/each}} 
0

這是你的模板代碼

{{#each followers}} {{ profile.name}} {{ followers}} {{/each}} 

正確的模板代碼

{{#each followers}} 
    {{profile.name}} 
    {{#each this.followers}} 
    {{name}} 
    {{/each}} 
{{/each}} 

這會給你的個人資料持有人的名稱和追隨者該配置文件。

+0

它不工作。它只是給我第一個追隨者的細節,這是'VID VID'。 – Viddesh

+0

它爲我工作,給我所有的人和他們的追隨者名單。 –

+0

你有幫助嗎? – Viddesh