gpt4 book ai didi

python - 通过比较两个文档的字段值来定义 Firestore 查询

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:48 25 4
gpt4 key购买 nike

我正在迈出使用 Cloud Firestore 的第一步,但我被困在了这一步上。我正在寻找一个 where 查询来返回 >= 限制的值。

  [{
'limit': 100,
'value': 200
},
{
'limit': 50,
'value: 50,
},
{
'limit': 95,
'value': 90,
}]

我在 Cloud Functions 中使用 Firebase Admin Python SDK。

有什么提示吗?

最佳答案

正如 Alex 所解释的,在使用 Firestore 执行查询时,无法比较两个文档的字段值。

一种可能的方法是在将文档保存到数据库时保存不等式的结果。如果在保存“支票”文档时知道两个值(limitvalue),则可以添加第三个字段,例如 valueAboveLimit 的值为 TrueFalse,您在保存“检查”文档时计算(即从您的前端使用相应的客户端 SDK 或来自带有 Firebase Admin Python SDK 的服务器,具体取决于您编写 Firestore 文档的方式)。

那么你的查询就很简单了:

database = firestore.client()
col_checks = database.collection('checks')
query_checks = col_checks.where('valueAboveLimit', '==', True)
results = query_checks.get()

如果您在保存 Firestore 文档时没有 limitvalue 的值(例如 limit字段稍后写入),您可以使用触发的 Cloud Function when the Firestore document is changed并且,如果存在这两个字段,则计算并保存此 valueAboveLimit 字段。

关于python - 通过比较两个文档的字段值来定义 Firestore 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58268838/

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