【问题标题】:How to check if the given name exists in firebase realtime database in android studio? [duplicate]如何检查给定名称是否存在于android studio的firebase实时数据库中? [复制]
【发布时间】:2019-04-18 06:58:34
【问题描述】:

如何检查给定名称是否存在于“FacultyMember”记录中。 如果在记录中找到给定的名称,那么我想检索其父级(即 uid)其他显示未找到的消息名称。我怎样才能在 android studio 中做到这一点? 这是我的数据库结构。 谢谢

[

【问题讨论】:

  • 如果你想知道实时数据库中是否存在某些东西,你必须查询它。

标签: java android firebase firebase-realtime-database


【解决方案1】:

在这种情况下,您可以做的是,使用Name 为您的数据库相关子项排序,并将它们与nameYouWant 进行比较,然后使用dataSnapshot.exists() 决定您必须对用户做什么。

我在说什么,在代码中看起来像这样:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("FacultyMember");
databaseReference.orderByChild("Name").equalTo(nameYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if(dataSnapshot.exists()){
          for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
               String uid = childSnapshot.getKey();
        }
        else
            // no such user exists

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) { // ToDo: Do something for errors too

    }
});

【讨论】:

  • 在这段代码中,在 uid 中它返回“FacultyMember”,但我想获得唯一的 id(它的父级)
  • @AbbasAli 啊,我的错!请尝试更新后的代码。
猜你喜欢
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
  • 1970-01-01
  • 2021-01-14
  • 2019-01-17
  • 2018-05-23
  • 1970-01-01
相关资源
最近更新 更多