列出按条件过滤的Firestore集合ID

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

在Firestore的Go程序包中,我可以通过执行类似的操作轻松获得ID列表

client.Collection("mycollection").DocumentRefs()

通过查询,我可以在遍历文档之前轻松过滤文档

client.Collection("mycollection").Where("x", "==", "y").Documents()

但是Query似乎缺少获取.DocumentRefs()的选项,是否有某种方法可以获取匹配特定查询的DocumentRefs列表,而无需实际获取所有匹配的文档(确保每个文档的读取成本)?

最重要的是,在我应用过滤逻辑以获取文档ID的受限列表之后,我想基于ID的值运行其他基于正则表达式的过滤,并且过滤后的ID列表是我的最终结果,不需要fr提取文档。

go google-cloud-firestore
1个回答
1
投票
Firestore查询始终返回每个匹配文档的全部内容。没有仅返回文档ID或引用的“轻型”查询。所有提供的Firestore SDK都是这种情况,而不仅仅是过去。

通常,建议

not将数据存储在文档的ID中以进行过滤。如果您能够预先计算文档应匹配的条件,然后将这些数据放在文档的字段中,则用例会更好地工作。还应注意,Firestore不支持正则表达式类型查询,因为这些查询无法按Firestore的要求进行大规模扩展。

© www.soinside.com 2019 - 2024. All rights reserved.