如何从 firebase 中的每个用户删除特定数据
How can I delete specific data from each user in firebase
我在用户table中保留了用户的分数。但它不再需要了。所以我想删除每个用户的点。我该怎么做?
这里没有魔法。您必须读取所有用户,遍历他们,然后删除他们的积分 one-by-one,或通过 multi-path 更新。
类似于:
DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("UsersExample");
usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String, Object> updates = new HashMap<>();
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
updates.put(userSnapshot.getKey()+"/point", null); // Setting to null will delete that node
}
userRef.updateChildren(updates);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
}
我在用户table中保留了用户的分数。但它不再需要了。所以我想删除每个用户的点。我该怎么做?
这里没有魔法。您必须读取所有用户,遍历他们,然后删除他们的积分 one-by-one,或通过 multi-path 更新。
类似于:
DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("UsersExample");
usersRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String, Object> updates = new HashMap<>();
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
updates.put(userSnapshot.getKey()+"/point", null); // Setting to null will delete that node
}
userRef.updateChildren(updates);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
}