代码之家  ›  专栏  ›  技术社区  ›  Sandra Willford

angularfer5&firebase自动完成等价于WHERE LIKE?

  •  2
  • Sandra Willford  · 技术社区  · 6 年前

    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的查询?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sandra Willford    6 年前

    看这个答案 Making a firebase query search NOT case sensitive

    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
            })))
        );
    }