当上传帖子时,我试图获取postKey并将其上传到dynamiclink,但是我得到了错误的postKey(密钥中的前6个字符正确,然后其余错误)。上传帖子时如何获得正确的postKey?

这是我的帖子,包括正确的postKey:

java - 当我上传帖子时尝试获取 key 时,我从push()收到了错误的postKey-LMLPHP

这就是我得到的-LYelE9TdCU73qW1Xisc,对于任何其他帖子,这也不是关键。

我的密码

String postKey = FirebaseDatabase.getInstance().getReference().child("posts").push().getKey();
        Log.i("postkey for dynamiclink",postKey);


非常感谢您的帮助!

最佳答案

在您的代码中,您正在使用postKey创建另一个push().getKey()

要检索数据库中已经存在的密钥,请尝试以下操作:

  DatabaseReference reference = FirebaseDatabase.getInstance().getReference("posts");

reference.orderByChild("title").equalTo("test").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
  for(DataSnapshot datas: dataSnapshot.getChildren()){
     String keys=datas.getKey();
    }
 }
@Override
public void onCancelled(DatabaseError databaseError) {
    }
 });

10-06 14:39