通过搜索栏从Firestore查询数据

时间:2019-04-16 02:32:13

标签: angular nativescript nativescript-firebase

我正在尝试通过搜索栏从Firestore查询数据,我已经在Firestore中存储了城市名称,所以我想按名称搜索每个城市

我的HTML

<GridLayout rows="48,*">
            <SearchBar row="0" hint="Search for Users"[(ngModel)]="searchValue" [ngModelOptions]="{standalone: true}" (textChange)="onTextChanged($event)"
                (loaded)="searchBarLoaded($event)" (clear)="onClear($event)" (submit)="onSubmit($event)"></SearchBar>
            <ListView row="1" [items]="myCities$ | async"  *ngIf="myCities$" class="list-group" (itemTap)="onSelectItem($event)">
                <ng-template let-item="item">
                    <GridLayout class="item list-group-item">
                        <Label [text]="item.name" class="list-group-item-heading"></Label>
                    </GridLayout>
                </ng-template>
            </ListView>
        </GridLayout>

component.ts

public onTextChanged(args,searchValue){

    let value = this.searchValue.toLowerCase();

    this.firebaseService.searchUsers(value)

    }

services.ts

 searchUsers(searchValue,){

const query: firestore.Query = firebase.firestore().collection("user")
.where("name", "==",searchValue)
.where("name", "==",searchValue)


query

.get()

.then((querySnapshot: firestore.QuerySnapshot) => {

  querySnapshot.forEach(doc => {

    console.log(`Large Californian city: ${doc.id} => ${JSON.stringify(doc.data().name)}`);

  });

})

.catch(err => console.log("firestoreWhereOrderLimit failed, error: " + err));

}

0 个答案:

没有答案