Flutter Firebase 查询:whereIn 过滤器返回 0 个帖子

问题描述 投票:0回答:1

我有代码

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 个帖子?我有什么遗漏的吗?

enter image description here

最多只有 5 组,所以没关系。

firebase google-cloud-firestore where-in
1个回答
0
投票

whereIn
子句检查单值字段是否具有多个可能值之一。

你的

groupId
是一个数组字段,所以你需要使用
arrayContains
:

.where('groupId', arrayContains: 'oVF05dlEdzS3vdj3TvSG')
© www.soinside.com 2019 - 2024. All rights reserved.