Firestoreで大文字と小文字を区別しないクエリを実行する方法を教えてください。
たとえば Hallway
、hallway
両方が同じである必要があります。しかし、以下のクエリは正確な検索を行います。つまり、dbにありHallway
、検索しようとするとhallway
、が表示されますno records
。
getSpecificTempBudgetGroup(name: string): AngularFirestoreCollection<BudgetGroup> {
return this.fireStore.collection<BudgetGroup>(`members/${this.authenticationProvider.member.id}/budgetGroups`, ref => ref
.where('name', '==', name)
);
}
私も試してみましたtoLowerCase()
。しかし運がない:(手がかりはありますか?
getSpecificTempBudgetGroup(name: string): AngularFirestoreCollection<BudgetGroup> {
return this.fireStore.collection<BudgetGroup>(`members/${this.authenticationProvider.member.id}/budgetGroups`, ref => ref
.where('name.toLowerCase()', '==', name.toLowerCase())
);
}
注:重複する可能性のある回答も確認しました。しかし、それは私のユースケースにはそれほど多くのアイデアを与えませんでした。しかし、私は以下に述べるMongoDBの回答を使用して有用な情報を得ました。
私はlowerCaseName
そのようにdbにプロパティを作成し、その後、以下に示すようにクエリを変更しました。私はこのMongoDBの回答から、このソリューションについてインスピレーションを得ました。
getSpecificTempBudgetGroup(name: string): AngularFirestoreCollection<BudgetGroup> {
return this.fireStore.collection<BudgetGroup>(`members/${this.authenticationProvider.member.id}/budgetGroups`, ref => ref
.where('lowerCaseName', '==', name.toLowerCase())
);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加