首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firestore规则允许读取条件时间戳问题

Firestore规则允许读取条件时间戳问题
EN

Stack Overflow用户
提问于 2019-04-08 16:19:30
回答 1查看 142关注 0票数 1

我是第一次使用firestore,我有一个问题,如果消息发送时间少于5分钟,我想允许读取,但它不起作用。

service cloud.firestore { match /databases/{database}/documents { match /locations/{allDocuments=**} { allow read: if request.time < Timestamp.fromMillis(resource.data.timestamp) + duration.time(0, 5, 0, 0) allow write: if true; } } }

每个数据都有一个子名称"timestamp“,值是一个类似于"1554710156002”的数字。

在这个读取条件下,我的应用程序不能读取任何东西,但它可以写入。有人知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 16:39:38

尝试使用duration.time(hours, minutes, seconds, nanos) (文档化的here)来操作timestamps

代码语言:javascript
复制
duration.time(0, 5, 0, 0)

此外,我个人的偏好是将持续时间放在(固定的)资源创建时间之后,这使得我更容易对其进行推理。

你的代码会变成

代码语言:javascript
复制
allow read: if request.time < resource.data.timestamp + duration.time(0, 5, 0, 0);

(注意:我没有验证这一点,这是假设您的时间戳实际上是一个timestamp)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55568989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档