使用angularfire将uid添加到firebase数据库
Adding uid to firebase database using angularfire
我正在为我当前的项目使用 angularfire
。我很难配置安全规则。
这是我的数据结构:
{
users : {
uid1 : { .. },
uid2 : { .. }
}
}
安全规则:
{
"rules" : {
"users" : {
"$uid" : {
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.uid === $uid"
}
}
}
}
我正在使用匿名身份验证,"uid1" 和 "uid2" 与 auth.uid
无关。
我正在使用以下代码创建
var obj = $firebaseObject(ref.child('users').child(auth.uid));
它返回 $loaded
正常,但它没有在用户下创建 uid
节点。
调用 $firebaseObject
创建双向绑定:对数据库中的对象所做的任何更改都将自动同步到您的应用程序。
但是调用 $firebaseObject
不会 自动创建一个对象。
要创建用户,您可以使用 Firebase JavaScript SDK:
ref.child('users').child(auth.uid).set({ name: 'Vikas Singhal' })
或者您可以通过 AngularFire 创建它:
var obj = $firebaseObject(ref.child('users').child(auth.uid));
obj.name = 'Vikas Singhal';
obj.$save();
由于 AngularFire 是在 Firebase JavaScript SDK 之上构建的,混合使用这两个 API 效果很好。
我正在为我当前的项目使用 angularfire
。我很难配置安全规则。
这是我的数据结构:
{
users : {
uid1 : { .. },
uid2 : { .. }
}
}
安全规则:
{
"rules" : {
"users" : {
"$uid" : {
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.uid === $uid"
}
}
}
}
我正在使用匿名身份验证,"uid1" 和 "uid2" 与 auth.uid
无关。
我正在使用以下代码创建
var obj = $firebaseObject(ref.child('users').child(auth.uid));
它返回 $loaded
正常,但它没有在用户下创建 uid
节点。
调用 $firebaseObject
创建双向绑定:对数据库中的对象所做的任何更改都将自动同步到您的应用程序。
但是调用 $firebaseObject
不会 自动创建一个对象。
要创建用户,您可以使用 Firebase JavaScript SDK:
ref.child('users').child(auth.uid).set({ name: 'Vikas Singhal' })
或者您可以通过 AngularFire 创建它:
var obj = $firebaseObject(ref.child('users').child(auth.uid));
obj.name = 'Vikas Singhal';
obj.$save();
由于 AngularFire 是在 Firebase JavaScript SDK 之上构建的,混合使用这两个 API 效果很好。