我有两件事:USERS
和VALUES
。一个用户可以有多个值。我想按以下方式配置Firebase实时数据库:
"Users" : {
"-LP4S9ewWAuEOlXKEkRB" : {
"id" : "-LP4S9ewWAuEOlXKEkRB",
"token" : "XXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
"values":{
userID: same as "id" in the users element,
userToken: same as "token" in the users element,
value: 13
}
我已经成功完成了第一部分(保存用户),但是对于值,我的应用程序中每个新用户的值都会覆盖其他用户。 这是我的代码:
final String userToken = sharedPreferences.getString("USER_TOKEN", "N/A");
//assign a personal id to the value
String valueId = dbRef.child("Values").push().getKey();
ValueData myValue= new ValueData(valueId, dataToSend);
dbRef.child("Values").child("UserToken").setValue(userToken);
请帮助我!! 预先谢谢你。
答案 0 :(得分:0)
假设您数据库中的子代分别命名为values
和userToken
,并且不是 Values
和UserToken
,正如我在代码中看到的那样现在,要解决此问题,请更改以下代码行:
dbRef.child("Values").child("UserToken").setValue(userToken);
到
Map<String, Object> map = new HashMap<>();
map.put("userToken", userToken);
dbRef.child("values").updateChildren(map);