【发布时间】:2021-12-01 11:42:03
【问题描述】:
我正在尝试流式传输过滤后的 Firestore 数据。该查询适用于硬编码值。但是,当我在 .where('field', isEqualTo: ...) 子句中使用动态值时,查询会产生 0 个结果。
这个查询工作得很好:
Stream getMediaStream({
required String albumId,
}) {
Stream mediaStream = _mediaCollectionReference
.where('albumId', isEqualTo: 'jhQ6nwjWcj6rnDPDYZw4') // hardcoded
.snapshots();
return mediaStream;
}
但是当我用变量替换硬编码值时它不起作用:
Stream getMediaStream({
required String albumId,
}) {
print(albumId) // jhQ6nwjWcj6rnDPDYZw4
Stream mediaStream = _mediaCollectionReference
.where('albumId', isEqualTo: albumId) // dynamic
.snapshots();
return mediaStream;
}
我也试过了:
albumId.toString()
'$albumId'
'${albumId.toString()}'
'"$albumId"'
'\'$albumId\''
知道为什么会这样吗?
【问题讨论】:
标签: flutter dart google-cloud-firestore