Flutter:如何在 [Firebase] 中使用 OR 条件获取流查询
Posted
技术标签:
【中文标题】Flutter:如何在 [Firebase] 中使用 OR 条件获取流查询【英文标题】:Flutter : How to get Stream Query with OR condition in [Firebase] 【发布时间】:2021-12-07 01:32:04 【问题描述】:我想使用多个 where();
方法在颤振中实现 OR 条件,但这会返回 AND
条件。
以下是我的查询代码
Future<Stream<QuerySnapshot>> getOrders() async
return FirebaseFirestore.instance
.collection("Orders")
.orderBy("timestamp")
.where("isCredentialUploaded", isEqualTo: true),
.where("isTransactionDone", isEqualTo: true)
.snapshots();
但这使得AND条件,像这样
if(isCredentialUploaded && isTransactionDone)
有什么方法可以在 Firebase Firestore 中获取 OR 条件?
我想要的结果:
if(isCredentialUploaded || isTransactionDone)
【问题讨论】:
【参考方案1】:在Firebase & Flutter的官方文档中,我们注意到在使用查询后我们必须使用get()
而不是snapshot()
。
试试这个代码:
Future<Stream<QuerySnapshot>> getOrders() async
return FirebaseFirestore.instance
.collection("Orders")
.orderBy("timestamp")
.where("isCredentialUploaded", isEqualTo: true),
.where("isTransactionDone", isEqualTo: true)
.get();
【讨论】:
亲爱的@Z.Ihab 我说的是firebase中的OR条件。 现在我明白你了,看看这个对你很有帮助[link] (***.com/a/63092557/17170163)以上是关于Flutter:如何在 [Firebase] 中使用 OR 条件获取流查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中使 StatusBar 对 Android 透明
如何在 Cloud Functions for Firebase 中使 HTTP 请求异步/等待?
如何在 Flutter 中使 Expanded 中的文本可滚动