我想使用正则表达式在Firestore中查询文档。这是因为为了将搜索功能添加到我的Flutter应用程序中,我需要能够基于搜索创建查询。例如,如果用户输入:' Alice‘--我将有一个类似于(?i)alice的正则表达式,我将在firestore中查询name字段满足此正则表达式的任何文档,无论是Alice、Alice Doe还是Doe Alice。我正在寻找一个类似如下的查询:
Firestore.instance.collection('people')
.where('name', matchesRegex: '(?i)alice')谢谢你的帮助。我觉得这是一个非常基本的功能,但我在docs中找不到它。我真的不能获得所有的文档并基于此进行搜索,因为集合非常大,我不想阅读那么多文档。
发布于 2020-05-05 07:02:22
Firestore在查询中不提供任何正则表达式。这些类型的查询不能以Firestore所需的方式进行扩展。它只支持精确的字符串匹配,以及带字符串前缀的范围查询。
如果您需要更灵活的基于文本的查询,请考虑将数据镜像到文本搜索引擎,如documentation中所述的Algola。
https://stackoverflow.com/questions/61602779
复制相似问题