2016-07-29 7 views
1

Firebaseコンソールのみ、メールアドレスとパスワードを設定することができ、ユーザーのプロファイルを保存するオプションはありませんが、これは、コードを使用して行うことができます。Firebase - ユーザープロフィールを永久保存する方法

user.updateProfile({ 
    displayName: "Chinmay Sarupria" 
}).then(function() { 
    console.log(user.displayName); 
}, function(error) { 
    console.log(error); 
}); 

これは恒久的にユーザーデータを保存する方法であれば、それは不可能ですこのようにdisplayNameを保存するだけのすべてのユーザーのコードを書くか、永続的なコードを使用しています。それは私のために働いていますが、永遠に残るかどうかはわかりません。

もちろん、ユーザーデータをリアルタイムデータベースに保存してユーザーのuidに基づいてフェッチすることもできますが、ユーザー変数にユーザーデータを保存することが可能であれば、データベースからデータを取得するよりもはるかに優れています。

答えて

0

ユーザーオブジェクトを参照した後、そのユーザーのUIDで値を更新できます。

var rootRef = new Firebase('https://yourapp.firebaseio.com'); 
// Check the current user login status and redirect if not logged in 
var user = rootRef.getAuth(); 
if (user) { 
    var user = rootRef.getAuth(); 
    var userRef = rootRef.child('users').child(user.uid); 
    ... do something with the logged in user... 
} 

function writeData() { 
    var user = rootRef.getAuth(); 
    var userRef = rootRef.child('users').child(user.uid); 
    var profileRef=userRef.child('profile').push(); 
    profileRef.update ({ 
    name: "Tony", 
    position: "Developer" 
    }); 
}; 

これは、ユーザーが構造をプロファイリング与える必要があり、このような何か:

} 
    "users" : { 
    "067f75bf-4a07-473e-82e5-d9a5ee11be17" : { 
     "profile" : { 
     "-KN2dG5X4lLpp0fwfsXK" : { 
     "name" : "Tony", 
     "position" : "Developer" 
     } 
    } 
    } 
} 

注プッシュ()関数を使用すると、ランダムに生成されたキーを提供します。あなたはそれを必要としないかもしれません。

これが役に立ちます。

+2

プッシュキーの下にユーザープロファイルを保存しないでください。 '/ users/$ uid/profile'にユーザごとに複数のノードが必要な場合を除いて、'/users/$ uid/name'、 '/ users/$ uid/position'などのデータを保存するだけです。 –

関連する問題