我正在使用“push()”函数将对象存储到我的 firebase 数据库中,因为它使用唯一键存储数据,所以我无法使用文档中提到的内容更改存储的对象值:
myRef.child("child name").setValue(model);
因为我根本不知道 key 。我想知道是否有其他方法可以修改 firebase 数据库的数据。
我想向用户添加一个名为“对话”的新 child ,并以编程方式向他添加 child 。
这是数据库结构:
最佳答案
如果你有以下数据库:
Users
pushId
name : john
age : 100
如果您不知道 pushId
,您可以执行以下操作:
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Users");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()){
String key = ds.getKey();
String name = ds.child("name").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
以上将使用 getKey()
为您获取 name
和 key
关于java - 推送完后如何获取 child 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279060/