angular - Firestore 上不区分大小写的查询

标签 angular typescript firebase ionic3 google-cloud-firestore

您能告诉我如何在 Firestore 上进行不区分大小写的查询吗?

例如 Hallwayhallway两者必须相同。但下面的查询会进行精确搜索。即如果数据库有 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 这样的属性,然后更改了我的查询,如下所示。我受到 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())
    );
  }

关于angular - Firestore 上不区分大小写的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49219246/

相关文章:

angular - 将 ngModel 模板引用变量作为 AbstractControl 传递给输入变量

angular - 是否可以添加动态类以在 Angular 2 中托管?

jquery - 使用 TypeScript for...of 循环遍历 JQuery 选择器

javascript - 复选框上的多行选择和单击 MUI DataGrid 中的行时的单一选择

java - 如何生成 Firebase 身份验证 token Java?

ios - 从 UITableView 中删除值会导致崩溃

javascript - 更新上传文件 Angular 2 上的引导进度条

html - 为什么一些字体很棒的图标不显示

typescript - 获取构造函数的参数类型作为元组

android - 检查文档是否包含2个字符串