如何从 android 更新 firebase 数据库中现有键中的值。就我而言,我希望用户更新 key 投票
final long z=0;
Map<String,Object> taskMap = new HashMap<String,Object>();
taskMap.put("Votes", z);
FirebaseDatabase.getInstance().getReference()
.child("project_image").child(projectDate)
.child("Votes")
.updateChildren(taskMap);
我尝试了上面的代码,但它添加了另一个节点
FirebaseDatabase.getInstance().getReference()
.child("project_image")
.child(formattedDate)
.push().setValue(dataMap);
以上代码用于第一次插入数据
如何执行此任务
最佳答案
您还需要访问 key :
final long z=0;
Map<String,Object> taskMap = new HashMap<String,Object>();
taskMap.put("Votes", z);
FirebaseDatabase.getInstance().getReference().child("project_image")
.child(projectDate).child("-M3zLjPHM_ndBfBDLV9C")
.child("Votes")
.updateChildren(taskMap);
<小时/>
获取 key :
DatabaseReference reference = FirebaseDatabase.getInstance().getReference();
reference.child("project_image").child(projectDate).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String key = datas.getKey();
final long z=0;
Map<String,Object> taskMap = new HashMap<String,Object>();
taskMap.put("Votes", z);
FirebaseDatabase.getInstance().getReference().child("project_image")
.child(projectDate).child(key)
.child("Votes")
.updateChildren(taskMap);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
关于java - 如何更新firebase数据库特定键中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61009792/