间隔中的 Firestore 查询间隔
Firestore query interval in interval
在我们的场景中,事件有开始和结束时间戳,事件可能跨越 2 天或 3 个月
event = {
start: 1652180300308
end: 1653217107596
}
并且我们想要获得本月开始或进行中的所有活动的列表。
是否可以在不创建额外字段的情况下进行这样的查询?
在您当前的数据结构中,您需要对 start
和 end
执行范围筛选以确定事件是否属于某个月份。如 Firestore 的 query limitations 文档所示,这是不可能的:
In a compound query, range (<
, <=
, >
, >=
) and not equals (!=
, not-in
) comparisons must all filter on the same field.
要允许查询,一种解决方案是添加一个数组字段,其中包含事件活跃的所有月份,这样您就可以在该字段上使用 array-contains
过滤器。
在我们的场景中,事件有开始和结束时间戳,事件可能跨越 2 天或 3 个月
event = {
start: 1652180300308
end: 1653217107596
}
并且我们想要获得本月开始或进行中的所有活动的列表。 是否可以在不创建额外字段的情况下进行这样的查询?
在您当前的数据结构中,您需要对 start
和 end
执行范围筛选以确定事件是否属于某个月份。如 Firestore 的 query limitations 文档所示,这是不可能的:
In a compound query, range (
<
,<=
,>
,>=
) and not equals (!=
,not-in
) comparisons must all filter on the same field.
要允许查询,一种解决方案是添加一个数组字段,其中包含事件活跃的所有月份,这样您就可以在该字段上使用 array-contains
过滤器。