2016-07-24 7 views
0

불행하게도 Firebase에는 기성 메커니즘이 없습니다 (오래된 항목을 자동으로 삭제). 그래서 저는 그것을 구현하려고합니다. 그러나, 나는이 결정 사이에 끼 었어 :Firebase 실시간 데이터베이스에서 노후화를 완화합니다.

  1. 클라이언트가 오래된 항목을 가져 오는 경우에, 그는이 자동으로 삭제됩니다 : 나는 내 상황에 맞는 가장 쉬운 생각 , 그러나 그것은 나에게 매우 보안 보이지 않는 .
  2. 서버에 작은 스크립트/프로그램을 구현하여 전체 데이터베이스를 확인하고 오래된 항목을 삭제하십시오.

저는 다른 서버 측 응용 프로그램을 배포하는 것을 포함하지 않기 때문에 첫 번째 솔루션이 마음에 들지만 위험을 나타낼 수 있는지는 알 수 없습니다.

당신은 무엇이 최고라고 생각합니까? 모든 항목을 삭제하지 않도록 첫 번째 솔루션을 확보하려면 어떻게해야합니까? 두 번째 솔루션의 경우 컴퓨터에서 스크립트를 실행하지 않고 다른 서버에 스크립트를 배포하는 데 비용을 지불하고 싶지 않습니다. Firebase에 배포 할 수 있습니까?

+0

이 게시물의 답변을 통해 아이디어를 얻을 수 있습니다. http://stackoverflow.com/questions/15990681/firebase-chat-removing-old-messages –

답변

3

클라이언트에서 오래된 항목을 삭제하는 것은 이전에 다뤘습니다. 참조 : 단지 오래된 항목을 제거 할 수 있도록

이 작업을 확보하려면 Firebase Database security rules를 사용할 수 있습니다. 뭔가 같이 :

{ 
    "rules": { 
    "messages": { 
     "$message": { 
     // only messages older than an hours can be remove 
     ".write": "newData.exists() || data.child('timestamp').val() < (now - 3600000)", 
     } 
    } 
    } 
} 

중포 기지의 서버에 자신의 코드를 실행 이제 Cloud Functions for Firebase 수행 할 수 있습니다. sample that shows how to delete older data with Cloud Functions도 있습니다.

관련 문제