这个问题已经有了答案:
Cloud Firestore Case Insensitive Sorting Using Query
2个答案
你能告诉我如何在firestore上进行不区分大小写的查询吗?
例如,Hallwayhallway两者必须相同。但下面的查询是精确搜索。也就是说,如果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中得到了有用的信息。

最佳答案

我已经在db上创建了一个属性,比如solowerCaseName,然后更改了我的查询,如下所示。我从this MongoDB answer中得到了这个解决方案的灵感。

  getSpecificTempBudgetGroup(name: string): AngularFirestoreCollection<BudgetGroup> {
    return this.fireStore.collection<BudgetGroup>(`members/${this.authenticationProvider.member.id}/budgetGroups`, ref => ref
      .where('lowerCaseName', '==', name.toLowerCase())
    );
  }

08-19 14:36