基于集合的Firestore查询过滤器

时间:2018-11-20 09:04:11

标签: firebase google-cloud-firestore

我在firestore中有一个book集合,根据设计,每个文档都有一个id(例如,它的整数ID,例如0、1、2 ..);我想通过过滤文档id random 集合来查询该集合,例如[2,5,23,54],请注意,这些ID是随机的,因此我不能使用isGreaterThan之类的范围过滤器。 我想避免为每个过滤后的ID查询一次,因为它可能会读取数据库太多次(这可能会花费很多)。

我尝试使用Firestore.instance.collection('book')where('id', array_contains:[ filtered id]),但是由于id不是集合字段,因此无法使用。

1 个答案:

答案 0 :(得分:1)

当前,您无法在or中进行array_contains查询,这绝对是人们想要的功能,因此id建议记录您的feature request with support。但是,与此同时,因为您的查询不会相交,所以只执行单个查询并将结果汇​​总到一个主数组中的成本相同。不确定您的语言是否可以举一个例子,但是它只是在您的例子中执行4个查询,并让它们全部更新一个主数组。