Alp*_*hal 4 dart firebase flutter google-cloud-firestore
我想通过查询使用 Cloud Firestore 实现搜索功能,但没有获得与获取数据相关的任何查询。我在谷歌上搜索了很多东西,但唯一的建议是首先从云 Firestore 获取所有数据,然后在本地搜索。我已经检查了查询内部的 where 条件,但没有找到任何条件,例如“开始于”等。
我想通过名称参数进行搜索。
Fra*_*len 18
Firestore 没有内置的全文搜索功能。我通常用于搜索文本字段的唯一两个查询运算符是:
用于isEqualTo:查找字段与值完全匹配的文档。
使用isGreaterThanOrEqualTo:and isLessThanOrEqualTo:(或startAt:and endAt:)搜索字段以特定值开头的文档。
例如,要搜索以name开头的所有文档al,您可以使用collectionRef.where("name", isGreaterThanOrEqualTo: "al").where("name", isLessThanOrEqualTo: "al\uf7ff")。这里\uf7ff只是最后一个已知的 Unicode 字符,因此查询在处理每个al.
如果您需要任何其他文本搜索操作,则需要使用其他产品 - 例如此处记录了该过程的产品。
这段代码对于使用 firestone flutter 搜索文本非常有帮助
StreamBuilder(
stream: ( searchtxt!= "" && searchtxt!= null)?FirebaseFirestore.instance.collection("addjop").where("specilization",isNotEqualTo:searchtxt).orderBy("specilization").startAt([searchtxt,])
.endAt([searchtxt+'\uf8ff',])
.snapshots()
:FirebaseFirestore.instance.collection("addjop").snapshots(),
builder:(BuildContext context,snapshot) {
if (snapshot.connectionState == ConnectionState.waiting &&
snapshot.hasData != true) {
return Center(
child:CircularProgressIndicator(),
);
}
else
{retun widget();
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10684 次 |
| 最近记录: |