颤振firebase querysnapshot:dart代码中不区分大小写的方法

颤振firebase querysnapshot:dart代码中不区分大小写的方法,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我是连接firebase的Flatter用户 当用户调用搜索功能并提交字符串时,我试图使用querysnapshot调用CloudFireStore中的用户列表。我试过的是下面的片段: Future<QuerySnapshot> allUsers = usersReference .where("profileName", isGreaterThanOrEqualTo: str) .getDocuments(); setState(

我是连接firebase的Flatter用户

当用户调用搜索功能并提交字符串时,我试图使用querysnapshot调用CloudFireStore中的用户列表。我试过的是下面的片段:

Future<QuerySnapshot> allUsers = usersReference
    .where("profileName",
        isGreaterThanOrEqualTo: str)
    .getDocuments();
setState(() {
  futureSearchResults = allUsers;
});}
Future alluser=用户参考
.where(“profileName”,
大于或等于:str)
.getDocuments();
设置状态(){
未来搜索结果=诱惑者;
});}
问题是我必须使querysnapshot调用的“profileName”不区分大小写。例如,cloud firestore中的“HELLO WORLD”必须在我的android studio Flatter控制台中打印为“HELLO WORLD”。所以我需要一个flatterfire方法将所有大写字符从CloudFireStore转换为小写字符。不幸的是,我无法从FlatterFire插件中找到设置不区分大小写的简单属性..]:

此外,我试图从firestore调用的不是一堆字符串,而是某种形式的文档,它将被转换为用dart编写的某种自定义类。它使我无法使用整洁的省道方法,如toLowerCase()

若有人知道dart代码中将大写字符从cloud firestore更改为小写的方法,请分享您的知识


清楚的答案,非常感谢!!提前感谢[:

Firestore不提供不区分大小写的查询。如果您需要使用任何大小写查询字符串,您应该存储“canonical”Firestore中字符串的版本,使客户端代码将其用于所有查询。因此,例如,您可以将所有字符串作为小写存储在数据库中,然后要求您的客户端代码在查询之前将所有字符串转换为小写。

明白了!对我来说是个坏消息]:谢谢您的回答!