如何在Firebase中对值进行搜索操作? AngularJS

时间:2015-07-11 13:21:42

标签: firebase firebase-realtime-database

举个例子,我有4个用户使用电子邮件地址:

hello@world.com
hi@world.com 
yo@world.com
yeah@world.com

这是我在视图中的搜索查询

$scope.searchQuery = "h";

我运行此查询,该查询允许我获取一个用字母“h”开头的电子邮件地址的用户列表。

usersRef.orderByChild('email').startAt($scope.searchQuery).endAt($scope.searchQuery+"~").on('value', function(snapshot){
      console.log(snapshot.val());
}

所以,这里的结果是:

hello@world.com
hi@world.com

但是,我希望searchQuery匹配整个字符串,而不仅仅是字母的开头。 在这种情况下的预期结果是($ searchQuery =“h”):

hello@world.com
hi@world.com
yeah@world.com

我试过这个:

usersRef.orderByChild('email').startAt($scope.searchQuery).endAt("~"+$scope.searchQuery+"~").on('value', function(snapshot){
          console.log(snapshot.val());
    }

结果包括所有4个电子邮件地址。

然后,我试过这个:

usersRef.orderByChild('email').startAt("~"+$scope.searchQuery).endAt($scope.searchQuery+"~").on('value', function(snapshot){
              console.log(snapshot.val());
        }

结果为null。

有人可以帮我解决这个问题。

任何答案都将不胜感激。

由于

0 个答案:

没有答案