【问题标题】:How to access Meteor.users() fields from the client?如何从客户端访问 Meteor.users() 字段?
【发布时间】:2017-12-28 16:41:32
【问题描述】:

我想从客户端访问用户的电子邮件, 这是我在服务器端所做的:

Meteor.publish('userList', function (){ 
  return Meteor.users.find({}, {fields:{emails: 1, profile: 1}});
});

在客户端:

Template.usersManagement.onCreated(function () {
    var self = this;
    self.autorun(function() {
        self.subscribe('userList');
    });
});

以及用于检索用户的模板助手:

Template.usersManagement.helpers({
    allUsers: function() {
        console.log(Meteor.users.find({}).fetch())
        return Meteor.users.find({}).fetch()
    }
})

usersManagement 模板中:

{{#each allUsers}}

    <h1>{{this.emails.address}}</h1>
    <h1>{{this.profile.name}}</h1>
                    
{{/each}}

显示用户名,但未显示电子邮件,控制台中未显示任何错误。

这是用户如何存储在数据库中的外观:

{
        "_id" : "m7admvZc32Jr3SeiE",
        "createdAt" : ISODate("2017-12-27T21:24:48.927Z"),
        "services" : {
                "password" : {
                        "bcrypt" : "$2a$10$wv6KsRp6s91A.0mHH89Q0eT3jrZmJjKJhw8SIH9c8c8OpwMrXyGMC"
                }
        },
        "emails" : [
                {
                        "address" : "222@222.com",
                        "verified" : false
                }
        ],
        "profile" : {
                "name" : "222",
                "createdAt" : ISODate("2017-12-27T21:24:48.707Z"),
                "updatedAt" : ISODate("2017-12-27T21:24:48.707Z"),
                "group" : "admin"
        },
        "status" : {
                "online" : false
        }
}

我的问题是,我怎样才能找回用户的电子邮件?

编辑

以下是检索电子邮件的方式(从控制台):

电子邮件下方还有另一个字段 (0)。我试过this.emails.0.address它没有用(绝望的尝试)

【问题讨论】:

    标签: meteor meteor-accounts meteor-publications


    【解决方案1】:

    你的绝望尝试几乎成功了,试试这个:

    this.emails.[0].address
    

    【讨论】:

    • 我认为 this.emails[0].address 是访问它的正确语法。
    • @VinayChaudhary 实际上就像 Behrouz 在电子邮件中提到的那样工作。[0].address!
    【解决方案2】:

    Meteor.users 集合商店emails as an array 中的一个项目,您可以为每个用户存储多个电子邮件地址。既然如此,那么正确的做法是:

    <h1>{{this.emails[0].address}}</h1>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      相关资源
      最近更新 更多