![](/img/trans.png)
[英]Update a document with mongoose (update property of document property)
[英]Update Property on Firestore Document Based on a timestamp property in same document
我有一个具有以下两个属性的 Firestore 文档:
isActive: true lastDateForSubmission: 时间戳。
我正在使用 isActive 属性在我的 React 应用程序中启用或禁用上传。 目前 lastDateForSubmission 仅用于显示。
我没有任何后端服务器。 我正在使用普通的 React 和 Firebase。
我需要在 LastDateForSubmission 属性中的时间之后自动将 isActive 属性设置为 False。
我一直在寻找不涉及后端服务器的解决方案,但我一直无法找到。
任何帮助表示赞赏。 谢谢。
如果没有服务器,您将无法执行此类操作。 但幸运的是,您不需要维护服务器Firebase
具有 firebase 云功能。
您可以安排任务并更新数据库。 看看https://firebase.google.com/docs/functions/schedule-functions
Firestore 是一个数据库,因此它不能自行执行代码。 但是,您可以使用 firestore 规则来确定是否允许写入,因此虽然这不会更改数据库的isActive
值,但它仍可用于防止在lastDateForSubmission
变量中指定的截止日期之后进行写入。
https://firebase.google.com/docs/firestore/security/rules-conditions
您可以在此处查看使用 firebase 规则访问请求时间并与目标文档进行比较的示例: https://fireship.io/snippets/firestore-rules-recipes/#time-based-rules-examples ,具体可以比较request.time
和resource.data.lastDateForSubmission
字段。
如果您确实需要更改变量,那么您将必须创建一个服务器端 function 来执行此操作(例如 firebase 函数),您可以按 cron 计划(例如每小时或取决于您的时间间隔类型)触发它将指定)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.