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

这是我的数据库

在此处输入图像描述

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

//Store data in database Firebase usersRef = ref.child("Users"); Map userData = new HashMap(); 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("Users"); usersRef.setValue(name); 

通过这种方式,您将推送url/Users的值,删除以前的值。

检查文档 :

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

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

 //usersRef.setValue(name); 

这样,您将推送url/Users/myName的值,而不会覆盖其他值。

Firebase数据库推送

 [FirebaseDatabase mydb =][2] FirebaseDatabase.getInstance(); DatabaseReference mDatabase = mydb.getReference().child("Dealers").child(dealerId).child("Stock").child(stockAddDate); Map userData = new HashMap(); userData.put("Product_Name", productName); userData.put("Holding_Stock", holdingStock); userData.put("Primary_Stock", primaryStock); mDatabase.push().setValue(userData); 

只需在setValue之前使用“PUSH”。

这对我有用。 我使用的是模型类而不是Hash

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