作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个应用程序,它将数据保存在两个不同的用户(A 和 B)数据库中。我只需要用户A删除用户B数据库数据的代码。我使用 Firebase 作为数据库。
我有一个代码,但这不起作用:
DatabaseReference driverRef = FirebaseDatabase.getInstance().getReference().child("Volunteer");
driverRef.orderByKey().equalTo(userId).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
String key = postsnapshot.getKey();
DatabaseReference driverRef = FirebaseDatabase.getInstance().getReference().child("Volunteer").child(key).child("requests").child("customerRideId");
driverRef.removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
最佳答案
您需要从数据库中检索对方的userid
,以便用户 A 能够删除用户 B 的数据。
如果你有这个:
User
useruidA
name: userA
email: userA@gmail.com
useruidB
name: userB
email: userB@gmail.com
当您检索 userB 的名称时,也检索他的 id,以便能够将其删除。
或者您可以这样做:
DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("Users");
data.orderByChild("name").equalTo(userB).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
data.getRef().removeValue();
}
}
这样,您就不需要他的id
,只需要名字。
关于java - 如何在 Firebase 中删除其他用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49098534/
我是一名优秀的程序员,十分优秀!