我创建了一种检查电子邮件是否已有帐户的方法:
insertGroupMember: function(eventId, memberDetails) {
var memberAccount = Meteor.users.findOne({'emails.address': memberDetails.email});
if (memberAccount) {
console.log('Existing User')
} else {
console.log('Create User')
}
}
但是当我订阅包含所有users.emails的出版物时,才会收到结果。如何在不发布每个人的电子邮件的情况下实现相同的结果?我认为这对安全/隐私有害,对吗?
答案 0 :(得分:0)
您是对的 - 您不希望将所有用户发布到客户端只是为了实现此目的。最好的解决方案是创建仅在服务器上定义的method,然后从客户端调用它。
Meteor.methods({
insertGroupMember: function(eventId, memberDetails) {
...
}
});
Meteor.call('insertGroupMember', eventId, memberDetails, function (err, result){
...
});