Java 如何得到一个孩子';数据何时被推送?

Java 如何得到一个孩子';数据何时被推送?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我使用“push()”函数将对象存储到firebase数据库中,由于它使用唯一键存储数据,因此无法使用文档中提到的内容更改存储的对象值: myRef.child("child name").setValue(model); 因为我根本不知道钥匙。我想知道是否有其他方法可以修改firebase数据库的数据 我想向用户添加一个名为“conversations”的新孩子,并以编程方式向他添加孩子 这是数据库结构: 如果您有以下数据库: Users pushId

我使用“push()”函数将对象存储到firebase数据库中,由于它使用唯一键存储数据,因此无法使用文档中提到的内容更改存储的对象值:

myRef.child("child name").setValue(model);
因为我根本不知道钥匙。我想知道是否有其他方法可以修改firebase数据库的数据

我想向用户添加一个名为“conversations”的新孩子,并以编程方式向他添加孩子

这是数据库结构:


如果您有以下数据库:

 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()获取
名称
和密钥

请添加您的数据库结构,并指出您想要获取的确切数据。想象一下,如果我想使用某个特定用户名的id获取该用户名,并且我有数百万用户,那么我必须在所有用户中循环才能获取oneno。如果您不使用查询
orderByChild(“名称”).equalTo(此处的用户名\u)
databaseReference.orderByChild(“name”).equalTo(此处为用户名)。addListenerForSingleValueEvent(新值EventListener(){…)