是否可以监听 Firestore 集合的
count()
更改?
下面的示例获取当前未读消息的计数。
我可以监听完整的消息集合,并在每次更新集合时触发对 count() 的调用。
还有更优雅的方式吗?
final unreadCount = await FirebaseFirestore.instance
.collection('messages')
.where('dateRead', isEqualTo: null)
.where(Filter.or(Filter("selfUid", isEqualTo: selfUid),
Filter("partnerUid", isEqualTo: selfUid)))
.count()
.get();
print(unreadCount.count);
不。 文档中说得非常清楚:
您不能将聚合查询与实时监听器和离线查询一起使用。仅通过直接服务器响应支持聚合查询。