【发布时间】:2020-12-23 15:04:59
【问题描述】:
最新版本: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(),
我已经创建了索引,所以这不是问题。
单独使用 .where('locationId', isEqualTo: 'bugdWVC6RRtHoemuxNWE') 时,查询返回正确的数据。
但单独使用 .where('locationId', arrayContainsAny: ['29L73oSzdQrzLUow3Mg9','bugdWVC6RRtHoemuxNWE']) 不会给出任何错误,而只是返回空数据集: sessionSnapShot.data.documents.length: 0.
** 使用 .whereIn 解决(可能 .whereIn 应该包含在 firebase.flutter.dev/docs/firestore/usage 中,因为它目前不存在)
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore