我想更新表中的条目,而不是替换它们。
我当前使用的代码:

private DatabaseReference mDatabase;
    mDatabase =FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
    HashMap<String,String> usermap = new HashMap<>();
    usermap.put("name",name);
    usermap.put("description",description);
    usermap.put("address",address);
    mDatabase.setValue(usermap);


删除我在数据库中拥有的“用户”中的电子邮件字段。我用Google搜索了一下,结果发现setValue替换了所有数据。我尝试使用updateChildren代替,但出现错误:DatabaseReference无法应用于java.util.HashMap <java.lang.String,java.lang.String>)

最佳答案

Try something like:


mDatabase=FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
    HashMap<String,Object> usermap = new HashMap<>(); // if you have data in diff data types go for HashMap<String,Object> or you can continue with HashMap<String,String>
    usermap.put("name",name);
    usermap.put("description",description);
    usermap.put("address",address);
    mDatabase.updateChildren(usermap); // Replace this line in your code to update.

09-12 05:56