我正在执行查询以仅获取 1 个月前的文档。
我存储文档本身的创建时间
timestamp : 9 Apr, 2020 10:03:43 AM
现在,在我的查询中,我想获取当月的所有文档,但我不想使用客户端的 currentDate (因此无法更改),但我也不想查询该文档来查找该文档的时间戳
Query
FirebaseFirestore.getInstance().collection("orders").whereEqualTo("shopId",shopId)
.whereEqualTo("status", 7).startAt().endAt().get().await()
我想知道一个有效的服务器近似设置.startAt().endAt()
仅查询过去1个月内状态为7的文档
有任何想法吗?
Firestore 不提供基于服务器时间感知来限制文档范围的时间盒查询。您必须相信客户端发送的时间是正确的。
随着时间的推移,你唯一可以控制的是使用请求时间 https://firebase.google.com/docs/reference/rules/rules.firestore.Request#time在安全规则中。您可以编写一条规则来允许仅在基于服务器时间戳的时间内进行查询,但仍由客户端在查询中正确指定时间。规则将无法根据时间过滤结果。
您可能想在末尾阅读有关服务器时间戳如何与安全规则配合使用的更多信息本文 https://medium.com/firebase-developers/the-secrets-of-firestores-fieldvalue-servertimestamp-revealed-29dd7a38a82b.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)