equalTo不工作firebase

equalTo不工作firebase,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,这是我的实时数据库结构 myproject |---------event |--date1 |--adminid1 |-----hallID1 |--name:"abc" |--address: "xyz" |--date2

这是我的实时数据库结构

myproject
|---------event
              |--date1
                  |--adminid1
                       |-----hallID1
                               |--name:"abc"
                               |--address: "xyz"
             |--date2
                 |--adminid1
                      |-----hallID2
                              |--name:"asd"
                              |--address: "somenadd"
我正在尝试为我的json结构的
name
元素自动完成搜索框,每当用户在搜索框中输入三个以上的字符时,我调用search()函数查询firebase db,如下所示:

scope.search = function(){
        firebaseDb
        .ref("event")
        .orderByChild("name")
        .startAt(scope.searchBarModel) 
        .endAt(scope.searchBarModel + "\uf8ff")     
        .on("child_added", function(snapshot){
            console(snapshot.key);
        });     
    }
但是,上面的查询无法在db中找到记录,我做错了什么

PS:equalTo查询的情况也一样:

scope.search = function(){
        firebaseDb
        .ref("event")
        .orderByChild("name")
        .equalTo(scope.searchBarModel) 
        .on("child_added", function(snapshot){
            console(snapshot.key);
        });     
    }

如我在评论中所述,您只需将
“child\u added”
更改为
“value”
。这是因为
“child\u added”
仅在向该节点写入新数据时才会触发。因为您需要现有数据,所以“值”就是您想要使用的。您可能还希望使用
.once()
而不是
on()
,以便分离侦听器。您可以阅读更多内容

将“child_added”更改为value。添加的子项仅在有人写入数据库的该区域时激发。