Firebase 添加具有指定名称的新子项
Firebase add new child with specified name
这是我的数据库
我想将新用户添加到保持该格式的数据库中。我试过这个:
//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("Users");
usersRef.setValue(name);
通过这种方式,您将推入 url/Users
中的值,删除之前的值。
勾选 doc:
Using setValue() will overwrite the data at the specified location, including any child nodes.
要在不删除前一个用户的情况下添加新用户,只需删除此行:
//usersRef.setValue(name);
通过这种方式,您将在不覆盖其他值的情况下推送 url/Users/myName
中的值。
Firebase Database Push
[FirebaseDatabase mydb =][2] FirebaseDatabase.getInstance();
DatabaseReference mDatabase = mydb.getReference().child("Dealers").child(dealerId).child("Stock").child(stockAddDate);
Map<String, String> userData = new HashMap<String, String>();
userData.put("Product_Name", productName);
userData.put("Holding_Stock", holdingStock);
userData.put("Primary_Stock", primaryStock);
mDatabase.push().setValue(userData);
只需在 setValue
之前使用 "PUSH"。
这对我有用。我正在使用模型 class 而不是 Hash
mFirebaseDatabase.child(name);
mFirebaseDatabase = mFirebaseDatabase.child(name);
FirebaseDatabase.setValue(name);
FirebaseDatabase.setValue(user);
这是我的数据库
我想将新用户添加到保持该格式的数据库中。我试过这个:
//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("Users");
usersRef.setValue(name);
通过这种方式,您将推入 url/Users
中的值,删除之前的值。
勾选 doc:
Using setValue() will overwrite the data at the specified location, including any child nodes.
要在不删除前一个用户的情况下添加新用户,只需删除此行:
//usersRef.setValue(name);
通过这种方式,您将在不覆盖其他值的情况下推送 url/Users/myName
中的值。
Firebase Database Push
[FirebaseDatabase mydb =][2] FirebaseDatabase.getInstance();
DatabaseReference mDatabase = mydb.getReference().child("Dealers").child(dealerId).child("Stock").child(stockAddDate);
Map<String, String> userData = new HashMap<String, String>();
userData.put("Product_Name", productName);
userData.put("Holding_Stock", holdingStock);
userData.put("Primary_Stock", primaryStock);
mDatabase.push().setValue(userData);
只需在 setValue
之前使用 "PUSH"。
这对我有用。我正在使用模型 class 而不是 Hash
mFirebaseDatabase.child(name);
mFirebaseDatabase = mFirebaseDatabase.child(name);
FirebaseDatabase.setValue(name);
FirebaseDatabase.setValue(user);