![](/img/trans.png)
[英]How to retrieve the user's info that is currently logged in from Firestore/Firebase?
[英]How to delete a user's info(even if he/she is not currently logged in) from firebase database in javascript?
我正在编写一段代码,使用angular从Firebase数据库中删除用户的信息。 我有要求的用户的电子邮件ID。 数据库的结构如下。
users |_unique key | |_email:value | |_tag:value |_unique key |_...
好的,所以我有电子邮件ID,并在orderByChild()的equalTo()中使用它的值,然后使用“值”方法获取用户。 现在,我想访问该用户的唯一密钥以删除其数据。 这就是我要做的。
deleteUser(email) { console.log(email); var userid; firebase.database().ref('users').orderByChild('email').equalTo(email).on("value",(snapshot)=>{ userid=snapshot.key; console.log(snapshot); console.log(userid) firebase.database().ref('users/userid').remove(); }) ; }
但是由于某种原因,不是存储唯一的密钥到'userid'变量中,而是存储了'users',我无法删除所需的信息。 请帮忙 !
为此,您首先必须在规则中索引孩子的“电子邮件”
{
"rules": {
"users": {
".indexOn": "email",
".read" : "auth.uid !== null",
".write" : "auth.uid !== null"
}
}
}
编写此规则后,现在使用此功能
deleteUser(email)
{
console.log(email);
var userid;
firebase.database().ref('users').orderByChild('email').equalTo(email).once('value', function(data) { data.forEach(function(child) {
userid = child.key
console.log(userid);
firebase.database().ref('users/'+userid).remove(); })});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.