Android - Firebase 查询 startAt 未按预期工作 [英] Android - Firebase query startAt not working as expected

查看:26
本文介绍了Android - Firebase 查询 startAt 未按预期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个使用 Firebase 作为后端的 Android 应用.我是 Firebase 的新手并且遇到了一个问题,问题是当我尝试使用 startAt 查询搜索记录时,它返回的结果不以我输入的关键字开头.

I am developing an Android app using Firebase as backend. I am new to Firebase and stuck at a problem, well the problem is when I try to search for a record using startAt query, it returns results which does not starts with the keyword I enters.

这是数据集

itemname
    -KK8vI8A5BZZp3Xo3FpA
       name: "abc"
    -KK8w3uoJdJ0hBSrq0CS
       name: "test"
    -KKAC1o9Vazyg9JLtDoQ
       name: "dude"

这是代码片段

Query query = firebase.child(Constants.KEY_ITEM_NAME).orderByChild("name").startAt("abc");
        query.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                Iterator<DataSnapshot> i = dataSnapshot.getChildren().iterator();
                while (i.hasNext()) {
                    DataSnapshot d = i.next();
                    LOG(d.getKey(), d.getValue().toString());
                }
            }

因此,当我搜索 abc 时,响应还包括 test.也许我做错了什么,或者我走错了路.任何人都可以请指出我正确的方向.

So when I search for abc the response also includes test. Maybe I am doing something wrong or I am going the wrong way. Could anyone please point me in right direction.

P.S 我正在尝试使用 AutocompleteTextView 来搜索项目.

P.S I am trying to use an AutocompleteTextView to search items.

谢谢

推荐答案

当您调用 orderByChild("name").startAt("abc") 时,数据库按名称属性对所有项目进行排序,跳过 abc 之前的那些,然后全部返回.

When you call orderByChild("name").startAt("abc") the database orders all items by their name property, skips the ones before abc and then returns them all.

如果您只想返回匹配 abc 的孩子,您可以使用 equalTo():

If you're only looking to return children that match abc, you'd use equalTo():

query = firebase.child(Constants.KEY_ITEM_NAME).orderByChild("name").equalTo("abc");

这篇关于Android - Firebase 查询 startAt 未按预期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆