Android Firebase添加具有指定名称的新子级

Android Firebase添加具有指定名称的新子级,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,这是我的数据库 我想将新用户添加到数据库中,并保持该格式。我试过这个: //Store data in database Firebase usersRef = ref.child("Users"); Map<String, String> userData = new HashMap<String, String>(); userData.put("Nombre", name); userData.put("Password",

这是我的数据库

我想将新用户添加到数据库中,并保持该格式。我试过这个:

   //Store data in database
    Firebase usersRef = ref.child("Users");
    Map<String, String> userData = new HashMap<String, String>();

    userData.put("Nombre", name);
    userData.put("Password", pass);
    userData.put("Confirmed", "FALSE");
    userData.put("Email", mail);

    usersRef.setValue(name);
    usersRef = ref.child("Users").child(name);
    usersRef.setValue(userData);
//在数据库中存储数据
Firebase usersRef=ref.child(“用户”);
Map userData=newhashmap();
userData.put(“Nombre”,名称);
userData.put(“密码”,pass);
userData.put(“已确认”、“错误”);
userData.put(“电子邮件”,邮件);
usersRef.setValue(名称);
usersRef=ref.child(“用户”).child(名称);
usersRef.setValue(userData);

问题是,每当我添加新用户时,都会覆盖上一个用户。

这是因为您正在使用:

Firebase usersRef = ref.child("Users");
usersRef.setValue(name);
通过这种方式,您将在
url/Users
中推送该值,以删除以前的值

检查:

使用setValue()将覆盖指定位置的数据,包括所有子节点

要添加新用户而不删除前一个用户,只需删除此行:

//usersRef.setValue(name);
通过这种方式,您将在不覆盖其他值的情况下在
url/Users/myName
中推送该值。

[FirebaseDatabase mydb=][2]FirebaseDatabase.getInstance();
DatabaseReference mDatabase=mydb.getReference().child(“交易商”).child(dealerId.child(“股票”).child(stockAddDate);
Map userData=newhashmap();
userData.put(“产品名称”,产品名称);
userData.put(“持有股票”,holdingStock);
userData.put(“主要股票”,主要股票);
mDatabase.push().setValue(userData);

只需在设置值之前使用“推”键,这对我很有效。我使用模型类而不是散列

mFirebaseDatabase.child(name);
mFirebaseDatabase = mFirebaseDatabase.child(name);
FirebaseDatabase.setValue(name);
FirebaseDatabase.setValue(user);

谢谢那么我应该用什么呢?@Aldridge1991更新了答案我可以得到这样制作数据库的完整示例吗?什么是-klaxOUQNJjWf0OaF-77,以及如何避免这个值?
mFirebaseDatabase.child(name);
mFirebaseDatabase = mFirebaseDatabase.child(name);
FirebaseDatabase.setValue(name);
FirebaseDatabase.setValue(user);