我在Firestore中有一个文档,它有“from”和“to”字段。我想找到所有触及给定范围的文档,例如:
Doc 1
from: 2
to: 4
Doc 2
from: 4
to: 8
Doc 3
from: 7
to: 10
Doc 4
from: 3
to: 5
Doc 5
from: 1
to: 2
个字符
所以结果是:文档1,文档2,文档4
有没有什么方法可以做到这一点在火?
为了更好地理解
的数据
我试过这个密码
.where('from', '>=', 3)
.where('to', '<=', 6)
型
但问题是,如果其中一个条件没有得到满足,那么该文件将不包括在内
注:“from”和“to”字段的数据类型为Long
1条答案
按热度按时间lg40wkob1#
当前无法在Firestore查询中对多个字段执行范围条件。单个查询中的所有范围条件必须在同一字段上。
一个可能的解决方法是存储文档所涉及的插槽数组,因此:
slots: [2, 3, 4]
slots: [4, 5, 6, 7, 8]
slots: [7, 8, 9, 10]
slots: [3, 4, 5]
slots: [1, 2]
然后,您可以使用
array-contains-any
条件来捕获具有范围内任何插槽的文档:字符串