【问题标题】:Simple Firebase Database Search Query简单的 Firebase 数据库搜索查询
【发布时间】:2019-11-11 16:03:49
【问题描述】:

我在搜索 firebase 数据库时遇到了问题。我已经看到堆栈溢出的其他答案,但没有运气。 我的数据库参考如下所示:

database.child("users").child(uid!!)

当我通过用户名搜索用户时,我不知道如何进入这个用户 id(uid)。 有没有人可以帮帮我?

我假设堆栈溢出的答案是这样的:

 mContentRef = FirebaseDatabase.getInstance().reference.child("users").orderByChild("title")
.startAt(searchText)
.endAt(searchText + "\uf8ff");

here is the look of the database

Data I want to get

【问题讨论】:

  • 请将您的数据库结构添加为 JSON 文件或至少是屏幕截图,并指明您想要获取的确切数据。
  • 我在问题中添加了一张照片
  • 那么你想获取单个用户的数据还是多个用户的数据?在屏幕截图上突出显示您想要获取的确切数据。
  • 我想使用 Firebase Recycler Adapter 从该表中获取多个数据
  • 这真的有点太宽泛了,无法在 Stack Overflow 上合理地回答。

标签: android firebase search kotlin firebase-realtime-database


【解决方案1】:

我在上面读到您想使用 firebase 回收器适配器。对于查询,您也可以在其位置使用参考。您的上述查询仅指向单个用户对象,而不是 firebase 回收器适配器所需的整个列表。

//To get the whole list of users
val queryReference = FirebaseDatabase.getInstance().reference.child("users")

//if you want to go to a specific user then use the following
val queryReference = FirebaseDatabase.getInstance().reference.child("users").orderByChild("userId").equalTo(uid!!)


//then populate the rested of your recyclerview
FirebaseRecyclerAdapter fireAdapter = FirebaseRecyclerAdapter(UserObject.class, R.id.recyclerItemLayout, viewHolderClass.Class, queryReference) {

    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int position) {
        UserObject currentUser = getItem(position);
        //populate recycler accordingly
    }
};

recyclerView.adapter = fireAdapter

【讨论】:

  • 我已经做到了,但是如何通过搜索查询获取数据
  • @M.Simel 我阅读了您上面的评论,您正在使用 firebase recyclerview。检查此答案是否对您有帮助
猜你喜欢
  • 2017-04-25
  • 2017-08-16
  • 2012-08-04
  • 2021-04-07
  • 2018-11-02
  • 2010-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多