我正在尝试使用MeteorJS显示用户个人资料
每个用户都有一个存储在MongoDB中的个人资料,但在导航控制台中,它只向我显示用户名,电子邮件和_id字段。
这是我的代码:
在/lib/Router.js
Router.route('/profile',{
name : "profile",
data : function(){
user = Meteor.users.find(Meteor.userId()).forEach(function(user) {
console.log(user);
});
//console.log(user);
},
waitOn : function(){
return Meteor.subscribe("allUsers");
}
});
/server/Publications.js
:
Meteor.publish("allUsers",function(){
return Meteor.users.find({},{
fields :{
username : 1,
emails : 1,
profile : 1
}
});
});
答案 0 :(得分:1)
您的个人资料路线看起来有点时髦。在我看来,您只需要当前用户的个人资料,而不是所有用户。我写这个如下:
Router.route('/profile',{
name : "profile",
data(){
return Meteor.user();
},
waitOn(){
return Meteor.subscribe("me");
}
});
/server/Publications.js:
Meteor.publish("me",function(){
return Meteor.users.find(this.userId,{
fields :{
username : 1,
emails : 1,
profile : 1
}
});
});