私のプロジェクトは完璧に機能していますが、唯一の問題は検索で大文字小文字を区別することです。部分文字列をうまく検索できますが、"Test"と入力すると、"test"が有効な結果として無視されます。pouchdbとpouchdb-findで大文字と小文字を区別しない検索を行う必要があります
私はpouchdb-findを使用して検索をより簡単にし、雲の検索にもっと関連させます。limit/skipページめくりのパラメータ。
私はion-searchbarを使用して、照会された文字列を入力します。ここで
は私のコントローラーのコードの抜粋です:
@Component({
selector: 'page-notas',
templateUrl: 'notas.html'
})
export class NotasPage {
notas: Array<Object> = [];
zone: any = new NgZone({ enableLongStackTrace: false });
db: any = new PouchDB('banco_de_dados.bd');
db_limit = 10;
pouch_query: object = {
selector: { data_emissao: { $gt: null } },
sort: [ {'data_emissao' : 'desc'} ],
limit: 10,
skip: 0,
};
constructor(
private scanner: BarcodeScanner,
private toastCtrl: ToastController,
private googleAnalytics: GoogleAnalytics,
public navCtrl: NavController,
public alertCtrl: AlertController,
public modalCtrl: ModalController
) {
this.notas = [];
}
//...
// unrelated code in here
//...
onInput($event:any) {
this.googleAnalytics.trackEvent('SearchBar', 'onInput', 'Event: ' + $event);
//Here is the query options, it's working, the only problem is that it's case sensitive
this.pouch_query = {
selector: {
data_emissao: { $gt: null },
descricao: { $regex: this.search_query }
},
sort: [ {'data_emissao' : 'desc'} ],
limit: 10,
skip: 0
};
// this function is a little bigger
// butit just makes the search and list it in a ion-list
this.refresh();
}
}
そしてここでは、コンポーネントのコードの抜粋です。
<!-- MORE UNRELATED CODE -->
<ion-searchbar
[(ngModel)]="search_query"
[showCancelButton]="shoulShowCancelButton"
(ionInput)="onInput($event)"
(ionCancel)="onCancel($event)">
</ion-searchbar>
<!-- MORE UNRELATED CODE -->
インターネットでの-findと-quick-searchを比較するのは難しいです。本当にそれを読むことをうれしく思います。ありがとう! – Cedric