![](/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.