我有代码
QuerySnapshot snapshot = await FirebaseFirestore.instance
.collection('Posts')
.where('groupId', whereIn: [
'oVF05dlEdzS3vdj3TvSG'
]) // Using whereIn for multiple groups
.orderBy('createdAtTimestamp', descending: true)
.startAfterDocument(_lastDocument!)
.limit(_numberOfPosts)
.get();
在我添加此 .where 过滤器查看 groupIds 之前,此查询工作正常。
然后我添加了一个groupId过滤器并使用一个组作为示例。我目前有一份具有 groupId 的 Post 文档,如您所见,具有完全相同的 id。为什么返回 0 个帖子?我有什么遗漏的吗?
最多只有 5 组,所以没关系。
whereIn
子句检查单值字段是否具有多个可能值之一。
你的
groupId
是一个数组字段,所以你需要使用arrayContains
:
.where('groupId', arrayContains: 'oVF05dlEdzS3vdj3TvSG')