簡體   English   中英

如何在iOS應用中從Firebase中刪除超過6個小時的數據?

[英]How to delete data from Firebase that is older than 6 hours in an iOS app?

我正在為iOS實現基於事件的應用程序。 這些事件具有startTime和endTime。 用戶只能在從startTime到endTime的此時間間隔查看它們。 這就是它的工作方式:用戶可以創建一個事件並將其發布到Firebase數據庫(該事件包含startTime和endTime)。 因此,如果當前時間與該時間間隔相匹配,則用戶可以看到正在發生的當前事件。 但是,如果endTime到達,則事件將從數據庫中刪除,並且用戶無法再訪問它。

問題是我對javascript以及它如何在帶有Firebase的iOS應用程序上工作一無所知。 我認為(通過研究)我需要一些東西來檢查數據庫中的舊事件,而且我不知道如何實現它。

此檢查如何在帶有Firebase的iOS應用上工作? 如果我不清楚我很抱歉

可以接受的答案是可以的,但是您有一個“適當的”選項。

您可以使用Google App Engine並編寫一個后端,該后端每隔X個小時運行一次腳本,以清除舊條目(請注意時間戳中的TZ,請確保所有內容都是一致的)。 根據您是否覺得將來還會有其他處理需求,可能值得走那條路,因為否則您將只能做些有限的事情(所有這些都需要通過客戶端應用程序來完成,並且您具有安全性,可靠性)和性能問題,具體取決於您的用例)。

為此,您需要一個完整的Google App Engine(Google Cloud)帳戶,並可能需要更高的按使用量付費定價。

有關如何解決此問題的詳細信息,請參見此處: https : //cloud.google.com/solutions/mobile/firebase-app-engine-android-studio

從那里,您還可以看到他們完成的漂亮的設計選項圖,以可視化您的客戶端應用程序+ Firebase +應用程序引擎如何協同工作。 https://cloud.google.com/solutions/mobile/mobile-app-backend-services

您仍應實施客戶端事件過濾,因為不會實時清除舊事件。

順便說一句,Google確實現在就上傳了精美的新教程(代碼實驗室),取代了所有firebase的舊文檔。 因此,我懷疑他們很快也會添加一個具有App Engine集成功能的代碼實驗室(我找不到)。 同時,您可以看到我上面粘貼的內容,它來自Google的官方雲網站。

祝你好運。

我不得不實現類似的東西。 這是您如何使用Firebase實現此目標的細分。

  1. Firebase不提供服務器端邏輯,因此您不能依靠Firebase為您刪除數據(在事件所有者終止應用程序,關閉電話等情況下)。

  2. 使用FirebaseServerValue.timestamp為您的事件提供標准時間值。 這將是您允許或拒絕用戶看到事件的常量。

  3. 使用if / else語句僅在startTimeendTime (也設置為時間戳)之間控制事件的可見性。

  4. 由於您不能使用服務器端邏輯來刪除數據,因此必須使用客戶端從Firebase中刪除數據。 使用#3中的if / else邏輯確定您當前的時間戳值是否超過endTime時間戳,如果為true,則從Firebase中刪除該數據。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM