Я занимаюсь разработкой системы с использованием MeteorJ, и мне нужно получить все электронные письма и профиль пользователя, зарегистрированного в моем MongoDB. Это мой publish.js
if (Meteor.isServer) {
Meteor.publish('Userlist', function() {
return Meteor.users.find({}, {fields: {emails: 1, profile: 1}});
});
}
и здесь я подписываю свои пользовательские данные на уровне шаблона res_user.js
Template.reg_user.onCreated(function() {
this.subscribe('Userlist');
});
Template.reg_user.helpers({
userku: function() {
let user = Meteor.users.find();
return user;
},
});
это мой HTML
{{#each userku}}
<ul>
<li>{{emails.address}} </li>
<li>{{profile.name}} </li>
</li>
{{/each}}
и когда я пытаюсь повторить его в своем html, он не показывает никаких электронных писем, только имя профиля, после просмотра этого урока
Я обнаружил, что нужны некоторые пользовательские помощники для получения электронной почты, поэтому я должен добавить нового помощника
Template.reg_user.helpers({
// same code here
getEmail: function(){
return this.emails[0].address;
}
});
и назовите этот помощник в моем HTML вместо обычного
{{#each userku}}
<ul>
<li>{{getEmail}} </li>
<li>{{profile.name}} </li>
</li>
{{/each}}
Почему я не могу использовать обычный способ получения данных email.address? Когда я вижу структуру Mongo, то же самое и с profile.address. И может кто-нибудь объяснить, почему и когда мне следует использовать такие собственные помощники, потому что это выдает мне ошибку, когда я пытаюсь что-то реализовать, но не знаю причину.