我正在使用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
节点。
答案 0 :(得分:2)
调用$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可以正常工作。