【发布时间】:2017-08-14 12:48:15
【问题描述】:
我正在尝试根据 name 搜索用户。如果名称是从名字给出的,但没有在字符串上搜索第二个名字,它会完美搜索。例如,第一个和第二个都保存在一个由空格分隔的值中 “约翰·史密斯”。如果搜索“john”或“jo”等,它会检索记录,但如果它的 smith 检索,它什么也不会检索。 代码
var ref = firebase.database().ref().child('User').orderByChild("name").startAt(searchString).endAt(searchString + "\uf8ff");
$scope.usercollection = $firebaseArray(ref);
【问题讨论】:
-
这是预期行为:Firebase 数据库查询只能从字符串的开头进行搜索。他们不能执行
contains()运算符。见stackoverflow.com/questions/22506531/…。 Firebase 还刚刚发布了与 Cloud Functions 的集成,它允许您通过 Google 基础架构执行此类搜索索引。在此处查看搜索用例:firebase.google.com/docs/functions/…
标签: firebase angularfire