Я работаю над базой данных firebase-realtime-database на ionic, я немного запутался в том, как «читать» и «писать» внутри узла $ uid. Который я в настоящее время имею дело с отказом в доступе.
узел выглядит так
rules {
"info": {
"$uid": {
".read": true,
".write": "$uid === auth.uid"
}
}
}
пока моя база данных json выглядит так
{
info: {
01: {
name:jay
age:16
}
}
}
Я немного запутался, какие шаги предпринять, чтобы получить доступ к данным внутри узла $ uid. Я попытался обновить свой узел базы данных JSON до этого.
{
info: {
f3de4734-8fb2-42bd-971d-8e693f8aab3b: { // auth.uid of dummy@gmail.com
01: {
name:jay
age:16
}
}
}
}
и моя директория пути "getafdData ()" к "'info /' + getuser".
вышеприведенные обновления работают только в том случае, если «getuser» является владельцем файла или узла, в котором хранятся данные, однако я хочу, чтобы он также читался другими аутентифицированными пользователями, что я не могу понять с помощью $ uid.
Я уже аутентифицировал вход в систему с помощью функции signInWithEmailAndPassword () firebase
это код, который я использую для аутентификации
try {
var r = await this.fAuth.auth.signInWithEmailAndPassword(
"dummy@gmail.com",
"123456"
);
if (r) {
console.log("Successfully logged in!");
await this.getafdData(); \\\ get the data when login
}
} catch (err) {
console.error(err);
}
async getafdData(){
var firebaseRef = this.afd.database.ref();
let data = await new Promise(function(resolve,reject){
return firebaseRef.child('info/')
.on("child_added", function(snapshot) {
console.log(snapshot.val());
//resolve(data);
}, function(err) {
console.log(err);
reject(err);
})
});
return data;
}
Можете ли вы посоветовать, что я делаю не так? или, вернее, правильные шаги, которые я должен сделать для доступа к узлу $ uid?