gpt4 book ai didi

javascript - Firestore 错误 : Cannot use multiple conditional where clauses on different properties

转载 作者:行者123 更新时间:2023-12-05 04:55:25 25 4
gpt4 key购买 nike

我尝试在 Firestore 查询中使用多个“where”过滤器,我的查询基于上述 example .

我的查询:

let colRef = firebase.firestore().collectionGroup('volumes')
colRef = colRef.where('days', 'array-contains', day)
colRef = colRef.where('start_time', '<=', time)
colRef = colRef.where('end_time', '>', time)
colRef = colRef.where('volume', '>', 0)
const snapshot = await colRef.get()

我收到以上错误:

Error: 3 INVALID_ARGUMENT: Cannot have inequality filters on multipleproperties

我已经检查了 compounding Firestore queries我发现:

You can perform range (<, <=, >, >=) or not equals (!=) comparisons only on a single field

这是对 Firestore 查询的一个巨大限制。我是否缺少实现该查询的另一个选项?

谢谢!

最佳答案

Firestore 中的范围条件只能应用于单个字段。这是一个硬性限制,有据可查(因为您已经包含在问题中)。

Firestore 只提供能够满足其性能保证的 API,其中最主要的一个是查询返回结果的时间与返回的数据量相关, 到需要搜索这些结果的数据量。

如果您需要比 Firestore 提供的更灵活的查询,您应该考虑使用其他数据库。但是您可能会失去与其他数据库的 Firestore 性能保证。

关于javascript - Firestore 错误 : Cannot use multiple conditional where clauses on different properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65391713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com