2016-02-21 4 views
0

У меня есть таблица пользователей, структура которого, как показано ниже для одного документаобъекта доступа в вложенном массиве в Метеоре шаблоны

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

и моего помощник функции

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

теперь я хочу, чтобы отобразить данные всего лишь подписчики:

name: Vid 
name: Sid 

В принципе, я хочу получить доступ к элементам в массиве последователей в моем шаблоне. В настоящее время это

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

ответ

0

Исправлено.

Проблема в том, что Meteor.users.find() возвращает только ограниченные поля. Во-первых, я попытался использовать спецификаторы полей в методе, в котором опубликован users, но это не сработало. Так Вот что я сделал:

В стороне сервера, объявил новую переменную как:

UserProfiles : = Meteor.users; 

Добавлен новый публикации метод, где я указанного поля I, необходимые как: введите код здесь

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

});

Добавлено следующую строку в стороне клиента:

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