我想发布一些关于我的用户的有限用户信息,我的想法是我的网络应用的管理员角色可以查看电子邮件地址和用户名(最后一个在个人资料数据中)。
Meteor.publish("usersSpecificDataforAdmin", function () {
return Meteor.users.find({}, {fields: {
'profile': 1,
'emails': 1,
'roles': 1
}});
}); 我在我的路由器中订阅了这个:
adminRoutes.route('/users', {
name: 'adminUsersList',
subscriptions: function (params, queryParams) {
this.register('adminUsersList', Meteor.subscribe('usersSpecificDataforAdmin'));
},
action: function (params, queryParams) {
BlazeLayout.render('layout_frontend', {
top: 'menu',
main: 'adminUsersList',
footer: 'footer'
});
}
});
在模板中,我使用以下内容显示用户的电子邮件地址:' {{emails.address}}',但这不起作用。我可以显示所有其他信息。
我有以下问题:
答案 0 :(得分:3)
有几件事:
_id
,它总是包含在内allUserData
,但您的路由器代码正在订阅usersAllforAdmin
,但您没有显示代码。我怀疑该出版物包括services
services
emails
是一个数组,您无法在空格键中使用{{emails.address}}
访问它,而是使用{{emails.[0].address}}
(reference)