访问Meteor JS应用程序中的用户电子邮件地址

问题描述:

我正在使用Meteor构建应用程序,并且需要访问已登录用户的已存储电子邮件地址。访问Meteor JS应用程序中的用户电子邮件地址

我目前正在使用:

var userObj = Meteor.user(); 
console.log(userObj); 

访问用户。但是,我只能访问该ID。电子邮件地址存储在一个嵌套的对象,看起来像这样:

[Object {address="[email protected]", verified=false}] 

我已经试过各种方法遍历JSON对象,但无法弄清楚如何获得我所需要的价值。

+1

'userObj [0] .address',也许?我不确定,重写JSON是愚蠢的:( – Ryan

+0

哈哈不工作虽然..返回undefined – squeezemylime

Meteor.user().emails[0].address适合我。

这里的医生说什么:

默认情况下,服务器发布的用户名,电子邮件和个人资料。有关用户文档中使用的字段的更多信息,请参阅 Meteor.users

示例用户文档:

{ 
    _id: "bbca5d6a-2156-41c4-89da-0329e8c99a4f", // Meteor.userId() 
    username: "cool_kid_13", // unique name 
    emails: [ 
    // each email address can only belong to one user. 
    { address: "[email protected]", verified: true }, 
    { address: "[email protected]", verified: false } 
    ], 
    createdAt: 1349761684042, 
    profile: { 
    // The profile is writable by the user by default. 
    name: "Joe Schmoe" 
    }, 
    services: { 
    facebook: { 
     id: "709050", // facebook id 
     accessToken: "AAACCgdX7G2...AbV9AZDZD" 
    }, 
    resume: { 
     loginTokens: [ 
     { token: "97e8c205-c7e4-47c9-9bea-8e2ccc0694cd", 
      when: 1349761684048 } 
     ] 
    } 
    } 
} 

你不指定要如何验证用户身份。例如,如果你只使用谷歌认证的电子邮件地址将只在

Meteor.user().services.google.email 

所以发现,它依赖。

+0

如果他的控制台有他发布在OP中的对象,然后他使用帐户密码或类似的东西,他只是没有想不出如何正确访问属性。 – Rahul

试试这个:

Meteor.user()电子邮件[0]。地址

问候,