2

我使用 angularfire2 v5 的 firebase 自动完成服务如下所示:

getUsersTypeAhead(searchString: string) {
    const list: AngularFireList<User> = this.fireBase.list('/users', ref => ref
        .orderByChild('name')
        .limitToFirst(10)
        .startAt(searchString)
        .endAt(searchString + '\uf8ff')
    );
    return list.snapshotChanges().pipe(
        map(items => items.map(item => ({
            key: item.key,
            name: item.payload.val().name
        })))
    );
}

但是,这似乎区分大小写。这是一个限制,还是有类似于 mySQL 中的 WHERE LIKE 的查询?

4

1 回答 1

0

在此处查看此答案使 Firebase 查询搜索不区分大小写

getUsersTypeAhead(searchString: string) {
    const list: AngularFireList<User> = this.fireBase.list('/users', ref => ref
        .orderByChild('name')
        .limitToFirst(5)
        .startAt(searchString.toUpperCase())
        .endAt(searchString.toLowerCase() + '\uf8ff')
    );
    return list.snapshotChanges().pipe(
        map(items => items.map(item => ({
            key: item.key,
            name: item.payload.val().name
        })))
    );
}
于 2019-02-07T05:03:02.593 回答