小编YaG*_*rge的帖子

带有 arrayContainsAny 的 Flutter Firestore 查询:列表不起作用

最新版本:Flutter + cloud_firestore: ^0.14.0+2

代码:

      FutureBuilder(
      future: _sessionsLogCollection
          .where('companyId', isEqualTo: sPData.companyId)
          .where('locationId', arrayContainsAny: [
            '29L73oSzdQrzLUow3Mg9',
            'bugdWVC6RRtHoemuxNWE',
          ])
          // .where('locationId', isEqualTo: 'bugdWVC6RRtHoemuxNWE')
          .orderBy('openDateTime', descending: true)
          .get(),
Run Code Online (Sandbox Code Playgroud)

我已经创建了索引,所以这不是问题。

单独使用.where('locationId', isEqualTo: 'bugdWVC6RRtHoemuxNWE')时,查询返回正确的数据。

但是单独使用 .where('locationId', arrayContainsAny: ['29L73oSzdQrzLUow3Mg9','bugdWVC6RRtHoemuxNWE'])时,它不会给出任何错误,而只是返回空数据集:sessionsSnapShot.data.documents.length: 0

** 用 .whereIn 解决(可能 .whereIn 应该包含在 firebase.flutter.dev/docs/firestore/usage 中,因为它目前不存在)

dart firebase flutter google-cloud-firestore

0
推荐指数
1
解决办法
358
查看次数

标签 统计

dart ×1

firebase ×1

flutter ×1

google-cloud-firestore ×1