2012-12-22 3 views
17

私はMeteorを使用してアプリを構築しており、ログインしているユーザーの保存されたメールアドレスにアクセスする必要があります。Meteor JSアプリのユーザーのメールアドレスにアクセス

私は現在、使用しています:

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

は、ユーザーにアクセスすること。しかし、私はIDにアクセスすることしかできません。電子メールアドレスは次のようになり、ネストされたオブジェクトに格納されています。私は、JSONオブジェクトを通過するさまざまな方法を試してみましたが、私は必要な値にアクセスする方法を見つけ出すことはできません

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

+1

'userObj [0] .address'、多分?私は分かりません、JSONを上書きすることは愚かです> :( – Ryan

+0

haha​​は動作しません。戻り値は未定義です – squeezemylime

答えて

34

が私のために働きます。デフォルトでは

サーバは、ユーザ名、電子メール、およびプロファイルを公開して:ここで

は、docが言うことです。ユーザ文書で使用されるフィールドの詳細については、 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 } 
     ] 
    } 
    } 
} 
5

あなたがユーザを認証する方法を指定しないでください。たとえば、Google認証のみを使用していた場合、電子メールアドレスは

Meteor.user().services.google.email 

のようになります。 。

+0

彼のコンソールにOPで投稿されたオブジェクトがあれば、彼はアカウントパスワードなどを使用しています。プロパティに正しくアクセスする方法を理解できませんでした。 – Rahul

3

このお試しください:

Meteor.user()メールを[0] .address

よろしく、

関連する問題