bul*_*eam 1 javascript mongodb meteor
我有一个集合,其中包含一组用户电子邮件.我需要在发布功能中访问登录用户的电子邮件地址.以下作品:
Meteor.publish("groups", function() {
return Groups.find({emails: "hand_coded@email.com"});
});
Run Code Online (Sandbox Code Playgroud)
这显然是无用的.这些都不起作用:
Meteor.user().emails[0].address
this.user.emails[0].address
this.userId.emails[0].address
Run Code Online (Sandbox Code Playgroud)
这里访问用户电子邮件地址的正确方法是什么?
您是否将该subscribe
功能置于反应环境中?当用户尚未设置时,可以首先调用发布函数,在这种情况下this.user
将是null
.您应该在发布方法中检查这一点.另外,根据文档,只有this.userId
参数可用,因此您需要自己获取用户对象:
Meteor.publish('groups', function() {
if(!this.userId) return [];
var user = Meteor.users.findOne(this.userId);
... /* use user.emails[0].address to search for and return the right groups */
});
Run Code Online (Sandbox Code Playgroud)
另外,将您的订阅函数包装在反应中:
Deps.autorun(function() {
Meteor.subscribe('groups');
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1179 次 |
最近记录: |