Meteor帐户密码,显示所有用户的电子邮件

Meteor帐户密码,显示所有用户的电子邮件,meteor,meteor-accounts,Meteor,Meteor Accounts,我是新来的流星。出于学习目的,我只想列出所有用户的电子邮件。但只能查看已登录用户的电子邮件 注意事项: 我用的是流星1.4.2 我在开发环境。所以,我 尚未删除“不安全”或“自动发布”。我知道这是个坏消息 练习。但这只是一个快速的开始 我的模板助手看起来像: Template.usersList.helpers({ users () { return Meteor.users.find({}, {fields: {'username': 1, emails:1}});

我是新来的流星。出于学习目的,我只想列出所有用户的电子邮件。但只能查看已登录用户的电子邮件

注意事项:

  • 我用的是流星1.4.2
  • 我在开发环境。所以,我 尚未删除“不安全”或“自动发布”。我知道这是个坏消息 练习。但这只是一个快速的开始
我的模板助手看起来像:

Template.usersList.helpers({
    users () {
        return Meteor.users.find({}, {fields: {'username': 1, emails:1}});
    },
    email(){
        if(typeof this.emails === 'undefined'){
            console.error(this.emails, "Unauthorized Attempt");
            return "--NaN--";
        } else {
            return this.emails[0].address;
        }
    }
});
Blaze模板:

<template name="usersList">
    This is Users List
    <ul>
        {{#each users}}
        <li>{{username}} | {{email}}</li>
        {{/each}}
    </ul>
</template>
在上面的结果中,jessica是登录用户。无法查看其他用户的电子邮件

有人能告诉我如何为所有用户显示电子邮件吗。或者请给我指出正确的方向

谢谢,
Ahmad

您可以在服务器上添加以下内容:

Meteor.publish("userData", function () {
  return Meteor.users.find();
});
在客户机上:

Meteor.subscribe("userData");
有关更多详细信息,请参阅


请注意,您可能希望限制最终向客户发布的内容。但我想你明白了
Meteor.users
只是一个集合,因此您可以从中发布,就像从任何其他集合中发布一样。

您可以在服务器上添加以下内容:

Meteor.publish("userData", function () {
  return Meteor.users.find();
});
在客户机上:

Meteor.subscribe("userData");
有关更多详细信息,请参阅


请注意,您可能希望限制最终向客户发布的内容。但我想你明白了
Meteor.users
只是一个集合,所以你可以从中发布,就像从任何其他集合中发布一样。

刚刚发现我必须使用pub/sub。因此,以下内容对我很有用:

//服务器中

Meteor.publish("userList", function () {
       return Meteor.users.find({}, {fields: {emails: 1}});
});
//客户

Meteor.subscribe("userList");

刚发现我必须使用pub/sub。因此,以下内容对我很有用:

//服务器中

Meteor.publish("userList", function () {
       return Meteor.users.find({}, {fields: {emails: 1}});
});
//客户

Meteor.subscribe("userList");

您应该检查
电子邮件
助手中的
this
变量,查看它所指的内容。您应该检查
电子邮件
助手中的
this
变量,查看它所指的内容。